溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx配置https實現(xiàn)域名訪問項目

發(fā)布時間:2020-10-29 16:52:46 來源:億速云 閱讀:305 作者:Leah 欄目:開發(fā)技術

本篇文章給大家分享的是有關Nginx配置https實現(xiàn)域名訪問項目,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

第一步:簽署第三方可信任的 SSL 證書

證書可以直接在阿里云里面申請免費的ssl證書

Nginx配置https實現(xiàn)域名訪問項目

登錄阿里云賬號,在上方搜索欄內(nèi)搜索ssl,點擊ssl證書(應用安全)

Nginx配置https實現(xiàn)域名訪問項目

來到這個頁面后點擊購買證書

Nginx配置https實現(xiàn)域名訪問項目

如圖選擇免費版ssl證書,點擊支付

Nginx配置https實現(xiàn)域名訪問項目

支付完成后跳轉到控制臺首頁,點擊證書申請

Nginx配置https實現(xiàn)域名訪問項目

填寫完證書申請表單之后點擊下一步

Nginx配置https實現(xiàn)域名訪問項目

點擊驗證顯示驗證成功后再提交審核

Nginx配置https實現(xiàn)域名訪問項目

審核通過后點擊下載按鈕

Nginx配置https實現(xiàn)域名訪問項目

選擇nginx旁邊的下載

Nginx配置https實現(xiàn)域名訪問項目

下載解壓后得到一個.key和.pem文件,到這里,我們的證書申請工作已經(jīng)做完了,下面可以開始配置https了

Nginx配置https實現(xiàn)域名訪問項目

第二步:配置https

1、centos如何安裝nginx可以參考這篇博文:https://segmentfault.com/a/1190000018109309
2、安裝完畢后,找到nginx.conf所在的目錄,我這里的目錄為:/etc/nginx
3、在此目錄里面新建一個文件夾cert,用來存放密匙文件
4、點擊nginx.conf,配置ssl,**注意,我這里是1.16版本的nginx,1.15之前的配置和這個不一樣??!**下面是我的配置:

 server {
   listen 443 ssl http2; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購買的是通配符域名證書,要修改為通配符域名,例如:*.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é)議進行配置。
   ssl_prefer_server_ciphers on;  
 }

如果是1.15之前的nginx版本的話,應該這樣配置:

 listen 443; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購買的是通配符域名證書,要修改為通配符域名,例如:*.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é)議進行配置。
   ssl_prefer_server_ciphers on;  
 }

5、配置反向代理,讓默認端口(一般是80)代理我們項目的端口8080,也就是說我們可以通過訪問80端口來達到訪問8080端口的效果

server {
   listen 443 ssl http2; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #將www.certificatestests.com修改為您證書綁定的域名,例如:www.example.com。如果您購買的是通配符域名證書,要修改為通配符域名,例如:*.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é)議進行配置。
   ssl_prefer_server_ciphers on; 
  location / {
    proxy_pass http://ip:8080; //ip寫你自己服務器的ip
  }  
 }

配置完后保存,然后重啟nginx

nginx -s reload
 sudo systemctl restart nginx

然后再查看防火墻是否打開,一般是關閉的,關閉的話就不需要打開了。如果是打開狀態(tài)的話就開啟服務器的默認端口(一般是80)和443端口

然后如果是云服務器的話還需要配置安全組,打開服務器管理控制臺,點擊本地實例安全組

Nginx配置https實現(xiàn)域名訪問項目

點擊手動添加或者快速添加,添加默認端口80和443端口進來,保存

Nginx配置https實現(xiàn)域名訪問項目

下面就是配置域名解析了,來到域名控制臺,點擊解析

Nginx配置https實現(xiàn)域名訪問項目

點擊添加記錄

Nginx配置https實現(xiàn)域名訪問項目

然后把你的服務器的公網(wǎng)ip地址解析進來,點擊確認

Nginx配置https實現(xiàn)域名訪問項目

解析完畢后等10分鐘差不多就可以去訪問域名了,訪問項目的swagger文檔,可以看見已經(jīng)變成https了(這里需要手動敲https才行)

Nginx配置https實現(xiàn)域名訪問項目

以上就是Nginx配置https實現(xiàn)域名訪問項目,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI