Nginx添加SSL證書實現https訪問


1、概述

為了安全考慮,正式上線的網站或接口,都需要使用https協議進行數據傳輸。

IOS、安卓、微信小程序等也都只允許訪問https協議的后台接口。

 

2、https協議的作用

1)加密傳輸數據,保護數據的安全

2)證明網站真實身份,防止被釣魚網站攻擊

3)提升公司形象

 

3、如何實現https

企業向權威的證書頒發機構申請SSL證書。

如果使用的是雲服務器,直接在雲服務器的官網就能方便的申請域名和SSL證書。

SSL證書支持的WEB服務器有很多, 例如:Apache、IIS、Nginx、Tomcat 。

根據具體使用的WEB服務器,添加配置即可。

 

這里我們簡單講一下,如何將SSL證書,部署在Nginx中,實現https。

 

4、檢查Nginx是否安裝SSL模塊

Nginx必須安裝了SSL模塊,才能支持SSL證書的配置。

1)進入到Nginx安裝目錄(例如:/usr/local/nginx/sbin),輸入命令 # ./nginx -V,查看是否有SSL模塊(http_ssl_module)

 

 2)沒有的話,進入Nginx安裝包的目錄(例如:/home/nginx-1.20.1),重新配置並編譯安裝Nginx

# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/local/nginx/nginx.pid \
--lock-path=/var/local/nginx/nginx.lock \
--error-log-path=/var/local/nginx/error.log \
--http-log-path=/var/local/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/local/nginx/client \
--http-proxy-temp-path=/var/local/nginx/proxy \
--http-fastcgi-temp-path=/var/local/nginx/fastcgi \
--http-uwsgi-temp-path=/var/local/nginx/uwsgi \
--http-scgi-temp-path=/var/local/nginx/scgi \
--with-http_ssl_module
# make && make install

3)再次在Nginx安裝目錄(例如:/usr/local/nginx/sbin),輸入命令 # ./nginx -V,查看是否有SSL模塊(http_ssl_module)

 

 

5、配置Nginx

申請下來的SSL證書文件有兩個,.crt文件 和 .key文件,例如:1_www.zhuifengren.cn_bundle.crt 和 2_www.zhuifengren.cn.key。

然后在Nginx配置文件中增加如下配置,然后重新加載Ngixn即可:

  server {
        listen       443;
        server_name  www.zhuifengren.cn;

        ssl_certificate      1_www.zhuifengren.cn_bundle.crt;
        ssl_certificate_key  2_www.zhuifengren.cn.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

通常證書頒發機構會附上SSL證書部署的教程,不同機構的配置方式會有些許差別,根據實際情況調整即可。

 

6、綜述

好了,到此為止,我們的網站也支持https傳輸協議了。

 

歡迎大家多多評論交流,共同進步。

 


免責聲明!

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



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