日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx反向代理https配置解决方案

發布時間:2023/12/16 Nginx 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx反向代理https配置解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

準備工作

Step1:

Step2:?????

Step3:

Step4:


準備工作

? ? ? ? 首先擁有一臺服務器,這里我使用的是阿里云服務器,并且在服務器上安裝了nginx;

? ? ? ? 其次有一個已經備案的域名;

? ? ? ? 最后在阿里云上申請兩個免費的SSL證書;

? ? ? ? Q:為什么需要兩個SSL證書呢?

? ? ? ? A:如今的項目基本都是前后端分離的,所以我們需要一個主域名用來訪問我們的前端頁面,還需要一個接口域名(域名命名規范:api.xxxx.xx)用來請求后端的接口,這樣,就兩個域名,所以需要兩個SSL證書。

Step1:

? ? ? ? 從阿里云下載兩個證書。

? ? ? ? 注意:我們要使用Nignx反向代理,所以要選擇Nginx類型的證書進行下載?

????????

? ? ? ? 得到了兩個壓縮包,解壓,會得到兩個文件(一共四個,一個壓縮包對應兩個)

????????

? ? ? ? ?然后把".pem"改成“.cer”

? ? ? ??

Step2:?????

? ? ? ? 連接到服務器,找到nginx安裝的根目錄(我的是“/usr/local/nginx”)

? ? ? ? 隨后在conf文件夾中新建一個cert的文件夾,用來存放剛剛解壓的四個文件

????????

Step3:

? ? ? ? 在這一步之前,我們首先要將我們的后端jar包,從服務器上啟動。

? ? ? ? ?在確保jar包開啟之后,我們來修改nginx的配置文件nginx.conf,來實現反向代理

? ? ? ? 添加以下代碼

upstream tomcatservers{server ip地址:端口號; }server {listen 80;server_name xxx.xxx.xxx;rewrite ^(.*)$ https://$host$1;location / {proxy_pass http://tomcatservers;} }server {listen 443; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。server_name xxx.xxx.xxx; #將xxx.xxx.xxx修改為您證書綁定的域名,例如:www.example.com。root html;ssl on;index index.html index.htm;ssl_certificate cert/domain name.cer; #將domain name.pem替換成您證書的文件名稱。ssl_certificate_key cert/domain name.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; #使用該協議進行配置。ssl_prefer_server_ciphers on;location / {proxy_pass http://tomcatservers;}}#以上是配置接口域名的 #接下來是配置主域名的,兩個格式都是基本一樣的 server {listen 80;server_name xxx.xxx.xx;rewrite ^(.*)$ https://$host$1;location / {root /home/tuling-mall/dist; #站點目錄。index index.html index.htm;} }server {listen 443; #配置HTTPS的默認訪問端口號為443。此處如果未配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。Nginx 1.15.0以上版本請使用listen 443 ssl代替listen 443和ssl on。server_name xxx.xxx.xxx; #將xxx.xxx.xxx修改為您證書綁定的域名,例如:www.example.com。root html;ssl on;index index.html index.htm;ssl_certificate cert/domain name.cer; #將domain name.pem替換成您證書的文件名稱。ssl_certificate_key cert/domain name.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; #使用該協議進行配置。ssl_prefer_server_ciphers on;location / {root /home/tuling-mall/dist; #站點目錄。index index.html index.htm;}}

? ? ? ? nginx反向代理強大的地方就是,不同的域名可以共用一個端口號,所以使用http訪問都通過80端口(來代理springboot內置tomcat的接口),使用https訪問都通過443端口。

Step4:

? ? ? ? 重啟nginx

? ? ? ? ./nginx -s?reload

到此為止,就可以通過https來訪問域名了,大功告成

總結

以上是生活随笔為你收集整理的Nginx反向代理https配置解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。