nginx正向代理到网关,网关无法根据host定论进行转发,会报404

原创
小哥 3年前 (2022-11-09) 阅读数 8 #大杂烩

在gateway它已在中配置Host规则如下:

- id: mall_host_root
   uri: lb://mall-product
   predicates:
     - Host=**.mall.com 
# ** 代表子域

注意:网关优先级匹配原则,所以将此配置放在后面。

在个别测试后发现,nginx它确实被路由到网关api路径很好,但可以直接访问mall.com但不是。图:


原因是nginx当代理提供网关时,它将丢失。host信息(调查后发现cookie等等也可能丢失,不练习)。

设置请求标头host信息,仅限mall转发时,配置plushead,这相当于向网关添加标头,默认情况下不会添加其他未设置的路径。

如图所示,添加 proxy_set_header Host $host; 这意味着:nginx默认情况下,它已丢失host我们提供的信息host该信息被手动设置,host的值是当前请求。Nginx时带的host的值。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除