从浏览器访问Nginx代理

时间:2019-04-04 14:37:55

标签: nginx browser http-headers reverse-proxy jwilder-nginx-proxy

nginx-proxy在很大程度上依赖于Host标头的使用。但是,大多数浏览器不允许您手动设置Host标头。如果尝试尝试,则会收到错误Refused to set unsafe header "Host"

那我应该如何从浏览器向nginx-proxy发送请求?

1 个答案:

答案 0 :(得分:0)

已解决此问题here

tl; dr是您只能在具有VIRTUAL_HOST变量的后端拥有一个docker服务,并且该服务必须与前端使用的域相对应。

如果您有多个后端服务,因此有多个VIRTUAL_HOSTS,则需要在前端动态设置HOST标头,以便nginx-proxy知道将请求路由到何处。但是,正如我们现在所知,这是不可能的,因为浏览器不允许您动态设置Host标头

我的解决方案是将nginx-proxy替换为原始的nginx配置,并依靠URL名称空间进行服务路由,而不是尝试设置Host标头。