nginx 配置代理对象的host

nginx配置代理对象,可以修改http的header里面的属性

方法如下

http {
  server {
  listen       8000;
  server_name localhost;
  location / {
proxy_pass http://springboot;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header Request-Url $request_uri;
      root   /usr/share/nginx/html;
      index index.html index.htm;
  }

}

通过在http->server->proxy_set_header这个属性来实现

如果要修改代理对象的host则可以 proxy_set_header HOST 【value】;

其中value是你要设置到代理对象里面的具体的值

这个值可以引用nginx的环境变量

$host

  1. 当客户端通过ip访问nginx,nginx再将请求转发到被代理对象时,被代理对象获取到的host实际上时nginx所在宿主机的ip;

  2. 当客户端通过域名访问nginx,被代理对象获取到的host为客户端请求的域名

$http_host

  1. 当客户端通过ip访问nginx,nginx再将请求转发到被代理对象时,被代理对象获取到的host实际上时nginx所在宿主机的ip:port;192.168.137.160:8000

  2. 当客户端通过域名访问nginx,被代理对象获取到的host为客户端请求的域名;port;如:lgm.com:8000

$proxy_host

这个参数经过测试,跟不配置proxy_set_header效果相同

传到被代理主机host为proxy_pass配置的域名springboot

posted on 2020-07-30 11:25  liguangming  阅读(5340)  评论(0编辑  收藏  举报

导航