詳細nginx配置SSL


1.nginx的ssl

讓nginx實現用https來訪問網站,http是80端口,https是443端口。

https其實就是一種加密的http

2.為什么要加密

例子:在網上銀行匯款,在你匯款的過程當中,你會輸入銀行卡的密碼,如果不加密,這些數據傳輸的過程中就有可能被人截獲,破解。

如果你使用了https,數據在傳輸的過程中是會加密的。即使抓到了數據包,但是無法破解出來。

知識:

http(1.1版本)  http 2(https)

3.0 怎么配置ssl?

首先得看你是yum安裝的nginx還是編譯安裝的nginx

3.1yum安裝nginx已經有參數--with-http_ssl_module

nginx -V ##查看參數

3.2 編譯安裝查看是否有--with-http_ssl_module (我選擇的是編碼編譯安裝的nginx)

/usr/local/nginx/sbin/nginx -V

3.3如果沒有重新編譯。進入nginx解壓的目錄

# cd /usr/local/src/nginx-1.17.0/

3.4 重新配置新的編譯參數

# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

3.5 運行上面命令即可,等待配置,運行命令

# make

注:不用make install安裝,不然會覆蓋安裝

3.6 停止nginx

# /etc/init.d/nginx stop

3.7 把剛剛編譯好的nginx覆蓋原有的nginx

# cp ./objs/nginx /usr/local/nginx/sbin/

3.8 查看編譯的參數是否生效

# /usr/local/nginx/sbin/nginx -V 

  

4.0 如何獲取ssl證書?

申請證書:

網站:(沃通)

免費的:freessl.cn

這里拿的是免費的證書

進入freessl.cn首先注冊  然后輸入域名申請開通,這個過程需要去添加TXT記錄來證明網站是你的。

會給你一個TXT的記錄

然后在你的域名解析中添加

回到freessl.cn點擊驗證會給你CA證書,證書,秘鑰

這時候回到linux 創建ssl的目錄

# mkdir /usr/local/nginx/conf/ssl/

進入ssl目錄

vim CA
添加瀏覽器生成的CA證書

編輯證書文件

# vim bbs.crt
復制粘貼證

編輯私鑰文件

# vim bbs.key
復制粘貼私鑰

配置conf配置文件

server
    {
        listen 443 ssl;
        index index.html index.htm index.php;
        root /data/wwwroot/bbs.centos.com;
        server_name bbs.centos.com;
        ssl_certificate /usr/local/nginx/conf/ssl/bbs.crt;
        ssl_certificate_key /usr/local/nginx/conf/ssl/bbs.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

檢測語法重載配置

# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx -s reload

另外也可以配置成

server
    {
        listen 443;
        index index.html index.htm index.php;
        root /data/wwwroot/bbs.centos.com;
        server_name bbs.centos.com;
        ssl on;
        ssl_certificate /usr/local/nginx/conf/ssl/bbs.crt;
        ssl_certificate_key /usr/local/nginx/conf/ssl/bbs.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

重啟nginx

# /etc/init.d/nginx restart

查看監聽端口

# netstat -lntp

5.0 配置好了可以訪問但是centos有防火牆還需要開放443端口

# firewall-cmd --add-port=443/tcp --permanent ##永久放行443端口
# firewall-cmd -reload #重載

現在訪問域名上效果圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM