一、http與https的區別
http:是網際網路上應用最為廣泛的一種網路協議,是乙個客戶端和伺服器端請求和應答的標準(tcp),用於從www伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。
https:是以安全為目標的http通道,簡單講是http的安全版,即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。https協議的主要作用可以分為兩種:一種是建立乙個資訊保安通道,來保證資料傳輸的安全;另一種就是確認**的真實性。
https和http的區別主要如下:
1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
2、http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
3、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
4、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。
二、使用openssl生成證書
openssl是目前最流行的ssl密碼庫工具,其提供了乙個通用、健壯、功能完備的工具套件,用以支援ssl/tls協議的實現。
比如生成到:/usr/local/ssl
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt
生成過程:
country name (2 letter code) [xx]:cn
state or province name (full name) :beijing
locality name (eg, city) [default city]:beijing
organization name (eg, company) [default company ltd]:***x
organizational unit name (eg, section) :***x
common name (eg, your name or your server』s hostname) :***x(一般是網域名稱)
email address :***x@***x.com
total 8
-rw-r–r--. 1 root root 1391 apr 21 13:29 nginx.crt
-rw-r–r--. 1 root root 1704 apr 21 13:29 nginx.key
三、nginx安裝http_ssl_module模組
nginx如果未開啟ssl模組,配置https時提示錯誤。
nginx缺少http_ssl_module模組,編譯安裝的時候帶上–with-http_ssl_module配置就行了。
本場景是伺服器已經安裝過nginx,但是未安裝http_ssl_module。
1.進入到原始碼包,如:
4.不需要執行make install,否則就覆蓋安裝了。
5.備份原有的nginx,如:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
6.然後將剛剛編譯好的nginx覆蓋掉原有的nginx(nginx需要停止)
cp ./objs/nginx /usr/local/nginx/sbin/
7.檢視安裝情況:
四、nginx配置https
貼部分配置資訊:
server
server
先檢驗配置的對不對:
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
重啟nginx:
/usr/local/nginx/sbin/nginx -s reload
訪問:補充遇到得坑:
最後一步,nginx -s reload 得時候 報錯
[error] invalid pid number 「」 in 「/usr/local/nginx/logs/nginx.pid」
[root@localhost nginx]/usr/local/nginx/sbin/nginx -s reload
提示 nginx: [error] invalid pid number 「」 in 「/usr/local/nginx/logs/nginx.pid」
[root@localhost nginx]# cd logs
[root@localhost logs]# ls
access.log error.log nginx-access.log nginx_error.log
果然沒有/usr/local/nginx/logs/nginx.pid 檔案
解決方法:
[root@localhost nginx]/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx 配置https證書
安裝證書 檔案說明 1.證書檔案214467769540415.pem,包含兩段內容,請不要刪除任何一段內容。2.如果是證書系統建立的csr,還包含 證書私鑰檔案214467769540415.key。2 開啟 nginx 安裝目錄下 conf 目錄中的 nginx.conf 檔案,找到 3 將其修...
Nginx配置Https證書
生成sll證書步驟 一 生成乙個rsa金鑰 openssl genrsa des3 out huqp.key 1024 二 拷貝乙個不需要輸入密碼的金鑰檔案 openssl rsa in huqp.key out huqp nopass.key 三 生成乙個證書請求 openssl req new ...
NGINX配置HTTPS證書
訪問網域名稱 www.xingyongsheng.top xingyongsheng.top 證書型別 在阿里雲申請的免費證書 上面兩個網域名稱申請其中之一即可 nginx版本 nginx 1.16.1 作業系統 centos linux release 7.8.2003 core 路徑 data ...