亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明

 更新時間:2024年01月25日 15:37:32   作者:eaglecolin  
這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

預備知識

這里我們先了解Nginx中host相關(guān)的變量($host/$http_host/$proxy_host) ,有助于我們理解和解決 proxy_pass 404問題。

  • $host request 請求過來的host,不管是域名還是IP,不管是否為80/443端口,值都為域名或者IP,不帶端口
  • $http_host request 請求過來的host,不管是域名還是IP,如果是非80/443端口,值都為域名或者IP加帶端口,如果是非80/443端口,值都為域名或者IP
  • $proxy_host 內(nèi)部進行proxy配置轉(zhuǎn)發(fā)的時候默認配置的Host為 $proxy_host, 值為配置的 proxy_pass的值的 域名或者IP部分

比如:

location /demo/ {
    proxy_pass http://ops.colinspace.com/;
}

則 proxy_host為 ops.colinspace.com;

如果配置如下:

location /demo/ {
    proxy_pass http://192.168.3.108:8090/;
}

則 proxy_host為 192.168.3.108:8090;

然后我們再說 proxy_pass抓發(fā)的時候默認的Host為 $proxy_host

在nginx官網(wǎng)有個解釋:

By default, NGINX redefines two header fields in proxied requests, “Host” and “Connection”, and eliminates the header fields whose values are empty strings.

“Host” is set to the $proxy_host variable, and “Connection” is set to close.

來源參考: https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

問題分析和修正

其實通過上面的預備知識,現(xiàn)在我們很容易猜到問題所在。

對,問題的點就在于 proxy_pass 轉(zhuǎn)發(fā)的時候 Host 變量的值不對

對問題進行問題

1、我們可以在access_log 的輸出中打印分別打印出來這三個變量的值,然后進行請求觀察分析日志,

2、對比分析不同的域名下關(guān)于 proxy相關(guān)的配置,發(fā)現(xiàn)出問題的域名相比沒有問題的域名引用了一個 proxy.conf 的公共配置,這個里面默認設置了

proxy_set_header Host $host

但是proxy轉(zhuǎn)發(fā)的時候這個值應該為 $proxy_host 才對, 所以要么取消 對 proxy.conf 公共引用(不建議,因為歷史添加肯定有原因);

要么采用如下方案在對應的location中進行添加

location /demo/ {
    proxy_set_host Host $proxy_host;
    # 或者也可以直接指定為轉(zhuǎn)發(fā)的域名
    # proxy_set_host Host 'ops.colinspace.com'; 
    proxy_pass http://ops.colinspace.com/;
} 

然后reload,再次請求驗證,404 問題修正

問題擴展

  • 為什么請求的時候Header中需要帶一個Host配置項呢?
  • 你有沒有注意到瀏覽器請求的時候,Header中默認會自動幫忙我們添加這樣的Host配置項呢,或者有時候我們使用curl進行接口驗證的時候也需要指定Host才可以

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx?生產(chǎn)環(huán)境安全配置加固的實現(xiàn)

    Nginx?生產(chǎn)環(huán)境安全配置加固的實現(xiàn)

    本文主要介紹了Nginx?生產(chǎn)環(huán)境安全配置加固的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • nginx配置多個vue項目

    nginx配置多個vue項目

    這篇文章主要介紹了nginx配置多個vue項目的方法以及流程介紹,對此有需要的朋友參考下。
    2018-04-04
  • nginx反向代理及使用詳解

    nginx反向代理及使用詳解

    nginx作為web服務器一個重要的功能就是反向代理,關(guān)于nginx 反向代理的使用你都了解嗎,今天通過本文給大家介紹下nginx反向代理及配置文件的組成部分,感興趣的朋友一起看看吧
    2022-02-02
  • nginx部署前端dist包詳細圖文教程

    nginx部署前端dist包詳細圖文教程

    本文介紹了如何下載Nginx的穩(wěn)定版,并對下載后的壓縮包進行解壓和配置,涵蓋了將文件放入html目錄、修改nginx.conf配置文件以及啟動Nginx的步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • Nginx如何進行流量按比例轉(zhuǎn)發(fā)

    Nginx如何進行流量按比例轉(zhuǎn)發(fā)

    Nginx 可以借助split_clients指令或通過 weight 參數(shù)以及 Lua 腳本實現(xiàn)流量按比例轉(zhuǎn)發(fā),下面小編就為大家介紹一下兩種方式具體的操作步驟吧
    2025-03-03
  • Nginx為Tomcat服務器作反向代理的配置教程

    Nginx為Tomcat服務器作反向代理的配置教程

    這篇文章主要介紹了Nginx為Tomcat服務器作反向代理的配置教程,文中以Windows系統(tǒng)為環(huán)境來演示驅(qū)動JSP程序的示例,需要的朋友可以參考下
    2016-03-03
  • Nginx配置文件的具體使用

    Nginx配置文件的具體使用

    本文主要介紹了Nginx配置文件的具體使用,其配置文件通常位于?/etc/nginx/nginx.conf?或?/usr/local/nginx/conf/nginx.conf,下面就來介紹一下,感興趣的可以了解一下
    2024-08-08
  • 關(guān)于Nginx開啟gzip的配置的問題

    關(guān)于Nginx開啟gzip的配置的問題

    這篇文章主要介紹了關(guān)于Nginx開啟gzip的配置的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • linux(centos5.5)/windows下nginx開啟phpinfo模式功能的配置方法分享

    linux(centos5.5)/windows下nginx開啟phpinfo模式功能的配置方法分享

    某站點用到結(jié)合phpinfo功能的urlrewrite,在nginx中需要在nginx.conf文件中進行配置才可支持phpinfo
    2013-02-02
  • nginx多域名轉(zhuǎn)發(fā)的實現(xiàn)

    nginx多域名轉(zhuǎn)發(fā)的實現(xiàn)

    本文主要介紹了nginx多域名轉(zhuǎn)發(fā)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論