前言:
最近需要做一個小程序的後臺,然後微信小程序的後臺大家都知道,需要配置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就好啦
總結:
基本到這裏就完成啦!!!