-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
nginx反向代理內網(wǎng)訪問(nginx反向代理內網(wǎng)訪問是什么)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于nginx反向代理內網(wǎng)訪問的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內免費在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、nginx反向代理帶路徑訪問問題
這個主要是要做一個反向代理,具體配置如下:
#upstream的配置upstream server_A {
server 192.168.0.55:8080;
}
upstream server_B {
192.168.0.206:8080;
}
#主機192.168.0.219的配置
server {
listen 80 default_server;
server_name XX.com;
#server中的其它配置
#...
#如下值反向代理配置
if ($request_uri ~* "^/+$") {
proxy_pass http://server_A;
break;
}
#其他的反向代理配置,通過uri的正則進行匹配
# if ($request_uri ~* "regex") {
# proxy_pass http://server_B;
# break;
#}
}
#對應的server_A,server_B的機器的配置需要增加相應的路由規(guī)則。
#在server_A機器上增加路由規(guī)則。
location / {
rewrite "^/+bingo-szwf-sso" /path/of/php break;
#...其他配置。
}
二、nginx反向代理proxy_pass絕對路徑和相對路徑
當訪問 http://127.0.0.1/proxy/test/test.txt 時,nginx匹配到/proxy路徑,把請求轉發(fā)給192.168.137.181:8080服務,實際請求路徑為
http://10.0.0.1:8080/test/test.txt ,nginx會去掉匹配的“/proxy”。
當訪問 http://127.0.0.1/proxy/test/test.txt 時,nginx匹配到/proxy路徑,把請求轉發(fā)給 192.168.137.181:8080 服務,實際請求代理服務器的路徑為
http://192.168.137.181:8080/proxy/test/test.txt , 此時nginx會把匹配的“/proxy”也代理給代理服務器。
當訪問 http://127.0.0.1/proxy/test/test.txt 時,nginx匹配到/proxy路徑,把請求轉發(fā)給192.168.137.181:8080服務,實際請求代理服務器的路徑為
http://10.0.0.1:8080/static01/test/test.txt 。
實際上2、3是一種情況,即加了“/”就會去掉匹配前綴。這就引出了下一個問題。
我們使用nginx的很多時候都需要去掉前綴。前綴只是為了讓nginx用來區(qū)分轉發(fā)到哪個服務器,不是實際URL的一部分。例如我們需要代理訪問 http://10.0.0.1:8080/test/test.txt ,如果不去掉前綴,nginx代理訪問的就是 http://192.168.137.181:8080/proxy/test/test.txt ,那么這時候就需要改變代理服務器原來寫好的url,這是不合理的。
一個種方案是上面提到的proxy_pass后面加根路徑“/”。另一種方案是使用正則重寫url。例如:
這里的
就是路徑重寫,其中:
三、nginx反向代理數(shù)據(jù)傳輸能提高數(shù)據(jù)響應么?
您好,是的,Nginx反向代理可以提高數(shù)據(jù)響應。Nginx反向代理是一種分布式的服務器架構,它可以將客戶端的請求轉發(fā)到多臺服務器上,從而提高數(shù)據(jù)傳輸?shù)男?。Nginx反向代理可以將客戶端的請求分發(fā)到多臺服務器上,從而提高數(shù)據(jù)傳輸?shù)男省ginx反向代理還可以提供負載均衡,可以將客戶端的請求分發(fā)到多臺服務器上,從而提高數(shù)據(jù)傳輸?shù)男?。此外,Nginx反向代理還可以提供安全性,可以將客戶端的請求轉發(fā)到多臺服務器上,從而提高數(shù)據(jù)傳輸?shù)陌踩???傊?,Nginx反向代理可以提高數(shù)據(jù)響應,提高數(shù)據(jù)傳輸?shù)男?,提供負載均衡,以及提供安全性。
四、轉載:反向代理服務器nginx-proxy-manager
什么是 Nginx Proxy Manager ?
Nginx Proxy Manager 是用于管理 Nginx 代理主機的 Docker 容器,具有簡單、強大的界面。它使您可以輕松地轉發(fā)到您在家里或其他地方運行的網(wǎng)站,包括免費的 SSL,而無需對 Nginx 或 Letsencrypt 了解太多。
通過 phpMyAdmin 在 MariaDB 10 中新建用戶 npm ,創(chuàng)建同名的庫 npm 并授予所有權限。
在注冊表中搜索 nginx-proxy-manager ,選擇第一個 jc21/nginx-proxy-manager,版本選擇 latest。
在 docker 文件夾中,創(chuàng)建一個新文件夾,并將其命名為 npm,再建 2 個子目錄,分別命名為 data 和 letsencrypt
端口
端口不沖突就行,不確定的話可以用命令查一下
在瀏覽器中輸入 http://群暉IP:2081 就能看到主界面
默認的賬號: admin@example.com ,密碼:changeme
登錄后可以編輯用戶信息
之后是密碼
進入主菜單的 SSL Certificates
Add SSL Certificate 有兩種方式,一種是在線申請,另一種是添加已有證書
在線申請和我們在『 免費的泛域名https證書自動續(xù)期 』一文中介紹的非常類似,需要選擇 DNS 解析服務提供商,以及填寫 token 等參數(shù)
老蘇因為已經配置了 Certbot 并實現(xiàn)了自動續(xù)期,所以只需要導入現(xiàn)有證書就可以了,Name 老蘇用了域名,這樣比較容易識別
上傳成功后,證書存放在 /data/custom_ssl/ 目錄中以 npm-1 、 npm-2 等子目錄保存
進入主菜單的 Hosts
以將 http://192.168.0.197:5000 映射到 https://nas.laosu.ml 為例
因為準備用 https 協(xié)議訪問,所以必須勾選 Force SSL
其他的 HTTP/2 和 HSTS 和群暉內置的是一樣的,可根據(jù)需要勾選,沒啥問題的話老蘇建議都勾上
為什么要另外安裝 nginx proxy manager 而不是用群暉內置的反向代理的原因,老蘇在一開始就講了,裝完之后老蘇還發(fā)現(xiàn)了幾個優(yōu)點:
以上就是關于nginx反向代理內網(wǎng)訪問相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
關于chatGPT的英文文章(關于cheating的英語作文)