溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議

發(fā)布時間:2021-10-20 18:10:48 來源:億速云 閱讀:241 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細講解有關Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

通過修改簡單的Nginx配置文件來實現(xiàn)SSL證書的加持,使得我們的應用程序支持HTTPS訪問協(xié)議。

首先,搞到SSL證書

付費的話就很多選項,我就簡單介紹一下免費的吧。
免費的SSL證書都是針對單一域名,比如:baofeidyz.com 、quan.baofeidyz.com 這兩個域名是單獨的,所以是需要兩個免費的SSL證書
騰訊云和阿里云目前都有免費的SSL證書可以申請。
騰訊云免費SSL證書
目前來看騰訊云似乎沒有直接的入口,需要我們登錄到騰訊云的控制臺(如下圖),請注意我紅框選中的地方,我們可以使用SSL證書管理作為我們申請免費SSL證書的入口。如果你找不到這個入口,可以點另外一個紅框中的加號添加SSL證書管理。
Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議
進入SSL證書管理以后(如下圖),點擊 申請證書 即可申請免費的SSL證書,剩下的驗證環(huán)節(jié)騰訊云有完善的文檔介紹,就不再贅述。
Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議
接下來我們直接走購買流程(如下圖)
Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議
然后我們可以看到選項菜單里面多了一個免費域名的選項

點選以后,就可以看到右側的價格變?yōu)?了,然后按照流程走下去就可以了。

如果證書在一天內未通過DNS或者文件驗證,可以發(fā)起工單聯(lián)系客服解決。

然后,配置SSL證書到Nginx中

騰訊云的SSL證書下載包中,有一個單獨的Nginx文件夾,里面有兩個文件都是我們需要的,如下圖所示。
Nginx如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議
我們需要把這兩個文件放到我們的服務器中,如果是linux系統(tǒng),推薦放到/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節(jié)點,如下所示

http{
    #http節(jié)點中可以添加多個server節(jié)點
    server{
        #監(jiān)聽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;
        #這是我的主頁訪問地址,因為使用的是靜態(tài)的html網(wǎng)頁,所以直接使用location就可以完成了。
        location / {
                #文件夾
                root /usr/local/service/ROOT;
                #主頁文件
                index index.html;
        }
    }

}

到這里還不行,因為如果用戶使用的是http協(xié)議進行訪問,那么默認打開的端口是80端口,所以我們需要做一個重定向,我們在上一個代碼塊的基礎上增加一個server節(jié)點提供重定向服務。

http{
    #http節(jié)點中可以添加多個server節(jié)點
    server{
        #監(jiān)聽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;
        #這是我的主頁訪問地址,因為使用的是靜態(tài)的html網(wǎng)頁,所以直接使用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如何配置實現(xiàn)SSL證書支持HTTPS訪問協(xié)議就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI