一般內網接收的HTTP請求都是內網唯一的閘道器傳過來的,nginx的alias匹配會直接使用閘道器穿過的host值,而不是從URL解析出來的,從而導致的問題是,容器的alias相關Server_name規則會失效,因為根據閘道器傳過來的自定製host可能在nginx配置裡面找不到匹配的server_name,然後最後的結果就是Nginx配置裡面第一個server_name配置接收這個請求。
所以要求閘道器傳過來的HOST必須與URL裡面的原host一致。
解決辦法:閘道器在定義upstream值是,最好就定義成相關的域名,因為這個upstream值會作為host傳給二級nginx伺服器。
再多說一句:alias項的配置,url和檔案目錄的最後是否有斜槓,必須一致。