需求
有這樣一個需求:專案中跳到某個位址,但這個位址不想暴露給使用者。
因此我們想到要做一層代理,透過專案某個路徑直接用ngnix代理到這個位址。
查詢相關文件後,發現方案如下:
用return 302
location /myBaidu { return 302 http://baidu.com; }
這個方案會直接跳到baidu,並且會改變域名,相當於直接location.href = 'baidu.com' ,顯然不適合我們的需求。
我們想要的效果是代理到百度,但瀏覽器的url框內還是/sparkMonitor,那就用proxy_pass
用proxy_pass
假設我們的網站網域為http://myorigin.com/
location /myBaidu { proxy_pass http://www.baidu.com/; }
這樣設定後就可以由http://myorigin.com/myBaidu直接存取到百度頁面,如下圖
關於proxy_pass使用的語法,與/有關
當路徑加上/:相對路徑,此時相當於代理到http:// www.baidu.com/
location /myBaidu { proxy_pass http://www.baidu.com/; }
如果造訪http://myorigin.com/myBaidu/abc就相當於造訪http://www.baidu.com/abc
當路徑不加/:絕對路徑,,此時相當於代理到http://www.baidu.com/myBaidu
location /myBaidu { proxy_pass http://www.baidu.com; }
如果訪問http://myorigin.com/myBaidu/abc就相當於訪問http: //www.baidu.com/myBaidu/abc
當路徑加上/xxx/
location /myBaidu { proxy_pass http://www.baidu.com/xxx/; }
如果造訪http://myorigin.com/myBaidu/abc就相當於訪問http://www.baidu.com/xxx/abc
當路徑加上/xxx
location /myBaidu { proxy_pass http://www.baidu.com/xxx; }
#如果訪問http://myorigin.com/myBaidu/abc就相當於訪問http://www.baidu.com/xxxabc
其他問題
- ##用proxy_pass的方案反向代理到百度頁面,沒有任何問題。
- 但是我們專案中是要求跳到某個內網域名,而且此域名和http://myorigin.com/並沒有互通,因此配置代理時,需要配置成ip位址,然後代理成功跳轉
- #由此,問題就很明顯了,代理程式的網站用了根目錄絕對路徑去找到/static下的jquery文件,因此會直接在我們專案的網域下找http://myorigin.com/static文件,這樣是怎麼也無法找到代理專案的/static文件,所以jquery找不到報錯,頁面樣式失效
- 而且不只是/static文件,可能還有其他文件也找不到,還有可能路徑與路由衝突,引發問題
- 因此,我們可以得出結論,前端專案的nginx的配置轉發到其他網站需要慎重,不是所有網站都可以走前端代理的,需要具體情況具體分析
以上是nginx的設定怎麼轉送到其他網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

NGINX通過其事件驅動架構和異步處理能力提升性能,通過模塊化設計和靈活配置增強可擴展性,並通過SSL/TLS加密和請求速率限制等措施提高安全性。

NGINX适合高并发和低资源消耗场景,Apache适用于需要复杂配置和功能扩展的场景。1.NGINX以高性能处理大量并发连接著称。2.Apache以稳定性和丰富模块支持见长。选择时需根据具体需求决定。

NGINXisessentialformodernwebapplicationsduetoitsrolesasareverseproxy,loadbalancer,andwebserver,offeringhighperformanceandscalability.1)Itactsasareverseproxy,enhancingsecurityandperformancebycachingandloadbalancing.2)NGINXsupportsvariousloadbalancingm

通過Nginx配置SSL/TLS來確保網站安全,需要以下步驟:1.創建基本配置,指定SSL證書和私鑰;2.優化配置,啟用HTTP/2和OCSPStapling;3.調試常見錯誤,如證書路徑和加密套件問題;4.應用性能優化建議,如使用Let'sEncrypt和會話復用。

Nginx是高性能的HTTP和反向代理服務器,擅長處理高並發連接。 1)基本配置:監聽端口並提供靜態文件服務。 2)高級配置:實現反向代理和負載均衡。 3)調試技巧:檢查錯誤日誌和測試配置文件。 4)性能優化:啟用Gzip壓縮和調整緩存策略。

Nginx缓存可以通过以下步骤显著提升网站性能:1)定义缓存区和设置缓存路径;2)配置缓存有效期;3)根据不同内容设置不同的缓存策略;4)优化缓存存储和负载均衡;5)监控和调试缓存效果。通过这些方法,Nginx缓存能减少后端服务器压力,提升响应速度和用户体验。

使用DockerCompose可以簡化Nginx的部署和管理,通過DockerSwarm或Kubernetes進行擴展是常見的做法。 1)使用DockerCompose定義和運行Nginx容器,2)通過DockerSwarm或Kubernetes實現集群管理和自動擴展。

Nginx的高級配置可以通過服務器塊和反向代理實現:1.服務器塊允許在一個實例中運行多個網站,每個塊獨立配置。 2.反向代理將請求轉發到後端服務器,實現負載均衡和緩存加速。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具