如何利用SSL設定Nginx反向代理
先決條件
1.後端伺服器:為了本教學的目的,我們使用在連接埠8080的localhost上執行的tomcat伺服器
#注意: - 當您開始代理請求時,請確保應用程式伺服器已啟動。
2.ssl憑證:我們還需要在伺服器上設定ssl憑證。我們可以使用 let's encrypt的加密證書,你可以用這裡提到的程式得到一個。但是對於本教程,我們將使用自簽名證書,可以透過從終端運行以下命令來創建,
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt
使用ssl配置nginx反向代理的下一步將是nginx安裝,
安裝nginx
ubuntu
#nginx可用於預設的ubuntu儲存庫。這麼簡單,使用以下命令安裝它,
$ sudo apt-get update && sudo apt-get install nginx
現在啟動服務並啟用它以進行啟動,
# systemctl start nginx # systemctl enable nginx
現在檢查nginx安裝,我們可以打開web瀏覽器並輸入系統ip作為url以取得預設的nginx網頁,這確認nginx工作正常。
使用ssl配置nginx反向代理程式
現在我們擁有了使用ssl配置nginx反向代理程式所需的所有東西。我們現在需要在nginx中進行配置,我們將使用預設的nginx配置文件,即/etc/nginx/conf.d/default.conf.
假設這是我們第一次對配置進行任何更改,打開文件並刪除或註釋所有舊文件內容,然後將以下條目放入文件中。
vi /etc/nginx/conf.d/default.conf
server { listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; } }
完成所有變更後,儲存檔案並退出。在我們重新啟動nginx服務以實現所做的更改之前,我們將逐節討論我們所做的配置。
第1節
server { listen 80; return 301 https://$host$request_uri; }
在這裡,我們告訴我們要聽取對連接埠80的任何請求,然後將其重定向到https。
第2節
listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on;
現在這些是我們正在使用的一些預設的nginx ssl選項,它們告訴nginx web伺服器支援哪種協定版本,ssl密碼。
第3節
location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; }
現在,本節介紹代理以及傳入請求進入後的位置。現在我們已經討論了所有配置,我們將檢查然後重新啟動nginx服務。
要檢查nginx,請執行以下命令
# nginx -t
一旦我們所有設定檔都ok,我們將重新啟動nginx服務
# systemctl restart nginx
就是這樣,我們的ssl nginx反向代理現已準備就緒。現在要測試設置,您所要做的就是打開web瀏覽器並輸入url。我們現在應該重定向到apache tomcat網頁。
以上是如何利用SSL設定Nginx反向代理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

要讓 Tomcat 伺服器對外網訪問,需要:修改 Tomcat 設定文件,允許外部連接。新增防火牆規則,允許存取 Tomcat 伺服器連接埠。建立 DNS 記錄,將網域名稱指向 Tomcat 伺服器公有 IP。可選:使用反向代理提升安全性和效能。可選:設定 HTTPS 以提高安全性。

ThinkPHP Framework 的本機運作步驟:下載並解壓縮 ThinkPHP Framework 到本機目錄。建立虛擬主機(可選),指向 ThinkPHP 根目錄。配置資料庫連線參數。啟動 Web 伺服器。初始化 ThinkPHP 應用程式。存取 ThinkPHP 應用程式 URL 運行。

要解決"Welcome to nginx!" 錯誤,需要檢查虛擬主機配置,啟用虛擬主機,重新加載Nginx,如果無法找到虛擬主機配置文件,則創建預設頁面並重新加載Nginx,這樣錯誤訊息將消失,網站將正常顯示。

Docker 環境中容器通訊有五種方法:共用網路、Docker Compose、網路代理、共用磁碟區、訊息佇列。根據隔離性和安全性需求,選擇最合適的通訊方法,例如利用 Docker Compose 簡化連線或使用網路代理來提高隔離性。

若要將 HTML 檔案轉換為網址,需要使用網頁伺服器,包括以下步驟:取得網頁伺服器。設定網路伺服器。上傳 HTML 文件。建立域名。路由請求。

Node.js 專案的伺服器部署步驟:準備部署環境:取得伺服器存取權限、安裝 Node.js、設定 Git 儲存庫。建置應用程式:使用 npm run build 產生可部署程式碼和相依性。上傳程式碼到伺服器:透過 Git 或檔案傳輸協定。安裝依賴項:SSH 登入伺服器並使用 npm install 安裝應用程式相依性。啟動應用程式:使用 node index.js 等命令啟動應用程序,或使用 pm2 等進程管理器。設定反向代理(可選):使用 Nginx 或 Apache 等反向代理路由流量到應用程式

Dockerfile 中最常用的指令有:FROM:建立新映像或衍生新映像RUN:執行指令(安裝軟體、設定係統)COPY:複製本機檔案到映像ADD:類似COPY,可自動解壓縮tar 存檔或取得URL 文件CMD:指定容器啟動時的指令EXPOSE:宣告容器監聽埠(但不公開)ENV:設定環境變數VOLUME:掛載主機目錄或匿名磁碟區WORKDIR:設定容器中的工作目錄ENTRYPOINT:指定容器啟動時要執行的可執行檔(類似CMD,但不可涵蓋)

是的,Node.js 可以外網存取。您可以使用下列方法:使用 Cloud Functions 部署函數並公開存取。使用 Express 框架建立路由並定義端點。使用 Nginx 反向代理請求到 Node.js 應用程式。使用 Docker 容器運行 Node.js 應用程式並透過連接埠映射公開。
