Nginx配置Https安全認證的實現
1、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協議安全。
1)http訪問:未認證在部分瀏覽器上訪問是會提示不安全的,有安全隱患
2)https訪問:認證後
Nginx配置Https
一、安裝nginx的SSL模塊
1、配置ssl證書前,要確保你的nginx安裝瞭ssl模塊,一般情況下自己安裝的nginx都是不存在ssl模塊的。
檢查自己的nginx是否安裝瞭ssl模塊
cd nginx的安裝目錄sbin下輸入
./nginx -V
如果有出現紅框中的信息,證明有安裝。
2、沒有安裝ssl模塊的情況
進入你的nginx解壓後的目錄(不是nginx安裝目錄),輸入
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
接下來執行
make #切記不要執行make install 否則會重新安裝nginx
3、進入objs文件夾,文件夾中存在nginx文件,替換掉sbin下的nginx
#如果開啟瞭nginx先進入sbin中停掉nginx服務 ./nginx -s stop #停止nginx服務 # cp 壓縮後的nginx路徑(你自己的) 安裝的nginx路徑(你自己的) cp /root/nginx/objs/nginx /usr/local/ngin/sbin
4、成功之後,進入nginx安裝目錄,查看ssl是否安裝成功
./nginx -V #權限不足可執行給nginx權限 chmod 111 nginx
二、配置SSL證書
阿裡雲可申請免費的ssl證書,具體可百度(證書一般是pem和key文件)
1、將證書上傳到一個文件夾中(自定義)
mkdir -p /nginx/card-key-pem
2、配置ssl,進入nginx安裝目錄中的conf文件中
cd /usr/local/nginx/conf vim nginx.conf
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 443; #監聽443端口 server_name www.qingfenginn.top; #你的域名 ssl on; #開啟ssl ssl_certificate /root/nginx/card-key-pem/5386933_www.qingfenginn.top.pem; #你上傳的ssl證書的pem文件路徑 ssl_certificate_key /root/nginx/card-key-pem/5386933_www.qingfenginn.top.key; #你上傳的ssl證書的key文件路徑 location / { #訪問路徑 #反向代理到你的項目 http://公網地址:端口 proxy_pass http://www.qingfenginn.top:81; } } server { listen 80; #監聽80端口 server_name www.qingfenginn.top; #將請求轉成https rewrite ^(.*)$ https://$host$1 permanent; } }
註意:配置完後,nginx會同時監聽443端口和80端口,443端口需要在安全組開發端口
3、重啟nginx,使配置生效
進入sbin目錄
先校驗一下配置文件是否正確
./nginx -t
在啟動nginx
./nginx -s reload //重啟 ./nginx -s stop //停止 ./nginx //啟動
之後就可以用你的域名訪問瞭
到此這篇關於Nginx配置Https安全認證的實現的文章就介紹到這瞭,更多相關Nginx配置Https認證內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Nginx配置ssl實現https的全過程記錄
- nginx七層負載均衡配置詳解
- SpringBoot前端後端分離之Nginx服務器下載安裝過程
- shell腳本多實例部署nginx的詳細教程
- 基於nginx實現上遊服務器動態自動上下線無需reload的實現方法