如何使用nginx作为反向代理将localhost:9292定向到子域foo.localhost /?

时间:2013-08-08 12:45:34

标签: nginx

我已经学会了如何使用以下指令将localhost:9292传递给localhost/foo

location /foo {
    proxy_pass http://localhost:9292;
}

但我想做点什么

foo.localhost -> localhost:9292

我有办法做到吗?

1 个答案:

答案 0 :(得分:0)

如果foo.localhost是您的子域名,并且您希望将子域代理传递给主域,则可以使用proxy_pass,如果需要,您可以了解更多有关server指令的信息。一个例子:

server {
  listem 8080;
  host sub.main.com;
  ...
  location / {
    proxy_pass http://main.com;
    break;
  }
}
server {
  listen 8081;
  host main.com;
  ...
  location / {
    //do something
  }
}

这是代理传递,意味着访问sub.main.com,实际上它最终由main.com处理,但客户端仍然显示sub.main.com。如果您希望客户端显示main.com,这里应该使用重定向而不是proxy_pass。