Nginx接收的host值会影响alias的规则匹配
一般内网接收的HTTP请求都是内网唯一的网关传过来的,nginx的alias匹配会直接使用网关穿过的host值,而不是从URL解析出来的,从而导致的问题是,容器的alias相关Server_name规则会失效,因为根据网关传过来的自定制host可能在nginx配置里面找不到匹配的server_name,然后最后的结果就是Nginx配置里面第一个server_name配置接收这个请求。
所以要求网关传过来的HOST必须与URL里面的原host一致。
解决办法:网关在定义upstream值是,最好就定义成相关的域名,因为这个upstream值会作为host传给二级nginx服务器。
再多说一句:alias项的配置,url和文件目录的最后是否有斜杠,必须一致。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步