您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Nginx如何配置實現SSL證書支持HTTPS訪問協議,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
通過修改簡單的Nginx配置文件來實現SSL證書的加持,使得我們的應用程序支持HTTPS訪問協議。
付費的話就很多選項,我就簡單介紹一下免費的吧。
免費的SSL證書都是針對單一域名,比如:baofeidyz.com 、quan.baofeidyz.com 這兩個域名是單獨的,所以是需要兩個免費的SSL證書
騰訊云和阿里云目前都有免費的SSL證書可以申請。
騰訊云免費SSL證書
目前來看騰訊云似乎沒有直接的入口,需要我們登錄到騰訊云的控制臺(如下圖),請注意我紅框選中的地方,我們可以使用SSL證書管理作為我們申請免費SSL證書的入口。如果你找不到這個入口,可以點另外一個紅框中的加號添加SSL證書管理。
進入SSL證書管理以后(如下圖),點擊 申請證書 即可申請免費的SSL證書,剩下的驗證環節騰訊云有完善的文檔介紹,就不再贅述。
接下來我們直接走購買流程(如下圖)
然后我們可以看到選項菜單里面多了一個免費域名的選項
點選以后,就可以看到右側的價格變為0了,然后按照流程走下去就可以了。
如果證書在一天內未通過DNS或者文件驗證,可以發起工單聯系客服解決。
騰訊云的SSL證書下載包中,有一個單獨的Nginx文件夾,里面有兩個文件都是我們需要的,如下圖所示。
我們需要把這兩個文件放到我們的服務器中,如果是linux系統,推薦放到/etc/ssl/
目錄下
然后我們需要去找到nginx的配置文件。
關于這個配置文件的路徑查找,推薦大家啟動nginx后使用ps -ef | grep nginx
的命令去查找,這樣可以很簡單的找到真正會生效的那個配置文件。
首先,我們需要啟動nginx
service nginx start
然后再去查找正在運行中的nginx服務
ps -ef | grep nginx
得到的結果可能是這樣的:
[root@host ssl]# ps -ef | grep nginx root 1007 1 0 May20 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 2712 1007 0 02:17 ? 00:00:00 nginx: worker process root 2768 2658 0 04:32 pts/1 00:00:00 grep --color=auto nginx
那么我們nginx配置文件的地址就應該是
/etc/nginx/nginx.conf
使用vim打開配置文件
vim /etc/nginx/nginx.conf
我們需要在
http{ }
中去添加一個server節點,如下所示
http{ #http節點中可以添加多個server節點 server{ #監聽443端口 listen 443; #對應的域名,把baofeidyz.com改成你們自己的域名就可以了 server_name baofeidyz.com; ssl on; #從騰訊云獲取到的第一個文件的全路徑 ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt; #從騰訊云獲取到的第二個文件的全路徑 ssl_certificate_key /etc/ssl/2_baofeidyz.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #這是我的主頁訪問地址,因為使用的是靜態的html網頁,所以直接使用location就可以完成了。 location / { #文件夾 root /usr/local/service/ROOT; #主頁文件 index index.html; } } }
到這里還不行,因為如果用戶使用的是http協議進行訪問,那么默認打開的端口是80端口,所以我們需要做一個重定向,我們在上一個代碼塊的基礎上增加一個server節點提供重定向服務。
http{ #http節點中可以添加多個server節點 server{ #監聽443端口 listen 443; #對應的域名,把baofeidyz.com改成你們自己的域名就可以了 server_name baofeidyz.com; ssl on; #從騰訊云獲取到的第一個文件的全路徑 ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt; #從騰訊云獲取到的第二個文件的全路徑 ssl_certificate_key /etc/ssl/2_baofeidyz.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #這是我的主頁訪問地址,因為使用的是靜態的html網頁,所以直接使用location就可以完成了。 location / { #文件夾 root /usr/local/service/ROOT; #主頁文件 index index.html; } } server{ listen 80; server_name baofeidyz.com; rewrite ^/(.*)$ https://baofeidyz.com:443/$1 permanent; } }
然后使用保存配置文件,使用nginx -t
命令對文件對配置文件進行校驗,如果看到successful表示文件格式證書,這時候我們就可以啟動nginx服務或者重新加載nginx配置文件。
啟動nginx服務:service nginx start
重新加載配置文件:nginx -s reload
其實當你在騰訊云下載證書的時候,騰訊云會提供一個鏈接教你如何配置nginx的證書。
關于Nginx如何配置實現SSL證書支持HTTPS訪問協議就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。