2017-07-26 58 views
1

我是nginx中的新成员。我想重写如何在nginx中重写或代理url?

feature-1234.mydomain.com/xyz?foo=bar 

docker-feature-1234:9000/xyz?foo=bar 

与请求参数。

我使用官方的nginx docker镜像。我的nginx.conf文件应该如何?

编辑: '功能-1234' 是一个变量,因此:

feature-5678.mydomain.com

应作为

docker-feature-5678:9000

回答

0

通过合并的答案,我找到了解决办法。

https://serverfault.com/questions/388552/nginx-sub-domain-proxy-pass

Docker Network Nginx Resolver

nginx: [emerg] "server" directive is not allowed here

nginx.conf:

events { 
} 

http { 
    server { 
    listen 80; 
    server_name ~(.*).test.go; 

    location/{ 
     if ($host ~* ^([a-zA-Z0-9-]+)\.test\.go$) { 
     set $proxyhost docker-$1:9000; 
     } 

     resolver 127.0.0.11 ipv6=off; 
     proxy_pass http://$proxyhost; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 

    } 
    } 
} 

感谢