nginx二級域名https配置以及可能會遇到的錯誤

前言:

最近需要做一個小程序的後臺,然後微信小程序的後臺大家都知道,需要配置https纔可以上線發佈。而我本身服務器就已經有了一個博客網站了,所以這裏開闢了一個二級域名給微信小程序後臺,這裏記錄一下nginx配置https的過程。

第一步 申請ssl證書

申請ssl證書咯,這一步沒啥好說的,我用的是騰訊雲,域名也是騰訊雲的時候買的,所以就在騰訊雲搞了。
然後下載證書。解壓
在這裏插入圖片描述
此時需要運用scp命令將nginx文件夾下的.crt .key結尾的文件傳輸的服務器處,這些是SSL證書的公共(. crt ) 和私有(. key ) 部分,不要隨意泄漏出去哦,後面配置nginx會用到

第二步 配置nginx

1.配置nginx.conf文件(abc.hhahaha.com爲示例寫法非本人服務器)
#house
        include /usr/local/nginx/vhosts/abc.hhahaha.com.conf;

由於已經有了一個博客網站了,就將其配置文件以網站url命名,以免都寫在ngnix.conf中,顯得太臃腫了。。在nginx目錄下新建一個vhosts文件夾,然後新建abc.hhahaha.com.conf文件

2.配置abc.hhahaha.com.conf

這裏是根據nginx.conf裏面的一個例子改的,nginx已經寫了個例子在裏面,只需該參數即可。。下面要改的地方我已經加了中文解釋

#不強制將http請求轉爲https
server {
        listen       80;
        server_name  域名;
        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $http_host;
                proxy_pass http://127.0.0.1:8088;#需要將請求分發給那個端口下的服務
        }
    }


    # HTTPS server

    server {
        listen       443 ssl;
        server_name  域名
        ssl_certificate     路徑.crt;  #填寫第一步中獲取的文件
        ssl_certificate_key  路徑 .key; #填寫第一步中獲取的文件
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on; 
    
        location / { 
           proxy_pass http://127.0.0.1:8088;#需要將請求分發給那個端口下的服務
        }
    }

第三步 最簡單的一步 重啓nginx咯

去nginx/sbin目錄下

./nginx -s reload即可

不過可能會出現的報錯

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37

這就是Nginx如果未開啓SSL模塊,配置Https時提示錯誤
參考解決方案:https://www.cnblogs.com/ghjbk/p/6744131.html

第四步 也是最後最最最簡單的一步 開放443端口

不同版本的操作系統有不同的開放方式,例如老一點的就iptables,博主的新一點兒就是firewall。。這個自行google就好啦

總結:

基本到這裏就完成啦!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章