第一步:簽署第三方可信任的 SSL 證書
證書可以直接在阿里云里面申請(qǐng)免費(fèi)的ssl證書
登錄阿里云賬號(hào),在上方搜索欄內(nèi)搜索ssl,點(diǎn)擊ssl證書(應(yīng)用安全)
來到這個(gè)頁(yè)面后點(diǎn)擊購(gòu)買證書
如圖選擇免費(fèi)版ssl證書,點(diǎn)擊支付
支付完成后跳轉(zhuǎn)到控制臺(tái)首頁(yè),點(diǎn)擊證書申請(qǐng)
填寫完證書申請(qǐng)表單之后點(diǎn)擊下一步
點(diǎn)擊驗(yàn)證顯示驗(yàn)證成功后再提交審核
審核通過后點(diǎn)擊下載按鈕
選擇nginx旁邊的下載
下載解壓后得到一個(gè).key和.pem文件,到這里,我們的證書申請(qǐng)工作已經(jīng)做完了,下面可以開始配置https了
第二步:配置https
1、centos如何安裝nginx可以參考這篇博文:https://segmentfault.com/a/1190000018109309
2、安裝完畢后,找到nginx.conf所在的目錄,我這里的目錄為:/etc/nginx
3、在此目錄里面新建一個(gè)文件夾cert,用來存放密匙文件
4、點(diǎn)擊nginx.conf,配置ssl,**注意,我這里是1.16版本的nginx,1.15之前的配置和這個(gè)不一樣!!**下面是我的配置:
server {
listen 443 ssl http2; #配置HTTPS的默認(rèn)訪問端口號(hào)為443。此處如果未配置HTTPS的默認(rèn)訪問端口,可能會(huì)造成Nginx無法啟動(dòng)。Nginx 1.15.0以上版本請(qǐng)使用listen 443 ssl代替listen 443和ssl on。
server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購(gòu)買的是通配符域名證書,要修改為通配符域名,例如:*.aliyun.com。
root html;
index index.html index.htm;
ssl_certificate cert/cert.pem; #將domain name.pem替換成您證書的文件名稱。
ssl_certificate_key cert/cert.key; #將domain name.key替換成您證書的密鑰文件名稱。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協(xié)議進(jìn)行配置。
ssl_prefer_server_ciphers on;
}
如果是1.15之前的nginx版本的話,應(yīng)該這樣配置:
listen 443; #配置HTTPS的默認(rèn)訪問端口號(hào)為443。此處如果未配置HTTPS的默認(rèn)訪問端口,可能會(huì)造成Nginx無法啟動(dòng)。Nginx 1.15.0以上版本請(qǐng)使用listen 443 ssl代替listen 443和ssl on。
server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購(gòu)買的是通配符域名證書,要修改為通配符域名,例如:*.aliyun.com。
root html;
ssl on;
index index.html index.htm;
ssl_certificate cert/cert.pem; #將domain name.pem替換成您證書的文件名稱。
ssl_certificate_key cert/cert.key; #將domain name.key替換成您證書的密鑰文件名稱。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協(xié)議進(jìn)行配置。
ssl_prefer_server_ciphers on;
}
5、配置反向代理,讓默認(rèn)端口(一般是80)代理我們項(xiàng)目的端口8080,也就是說我們可以通過訪問80端口來達(dá)到訪問8080端口的效果
server {
listen 443 ssl http2; #配置HTTPS的默認(rèn)訪問端口號(hào)為443。此處如果未配置HTTPS的默認(rèn)訪問端口,可能會(huì)造成Nginx無法啟動(dòng)。Nginx 1.15.0以上版本請(qǐng)使用listen 443 ssl代替listen 443和ssl on。
server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購(gòu)買的是通配符域名證書,要修改為通配符域名,例如:*.aliyun.com。
root html;
index index.html index.htm;
ssl_certificate cert/cert.pem; #將domain name.pem替換成您證書的文件名稱。
ssl_certificate_key cert/cert.key; #將domain name.key替換成您證書的密鑰文件名稱。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協(xié)議進(jìn)行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://ip:8080; //ip寫你自己服務(wù)器的ip
}
}
配置完后保存,然后重啟nginx
nginx -s reload
sudo systemctl restart nginx
然后再查看防火墻是否打開,一般是關(guān)閉的,關(guān)閉的話就不需要打開了。如果是打開狀態(tài)的話就開啟服務(wù)器的默認(rèn)端口(一般是80)和443端口
然后如果是云服務(wù)器的話還需要配置安全組,打開服務(wù)器管理控制臺(tái),點(diǎn)擊本地實(shí)例安全組
點(diǎn)擊手動(dòng)添加或者快速添加,添加默認(rèn)端口80和443端口進(jìn)來,保存
下面就是配置域名解析了,來到域名控制臺(tái),點(diǎn)擊解析
點(diǎn)擊添加記錄
然后把你的服務(wù)器的公網(wǎng)ip地址解析進(jìn)來,點(diǎn)擊確認(rèn)
解析完畢后等10分鐘差不多就可以去訪問域名了,訪問項(xiàng)目的swagger文檔,可以看見已經(jīng)變成https了(這里需要手動(dòng)敲https才行)
可以看到成功訪問項(xiàng)目
參考鏈接 :
Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目 : https://www.jianshu.com/p/e7b9622a63ed
到此這篇關(guān)于阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程)的文章就介紹到這了,更多相關(guān)Nginx配置https域名訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!