2017-07-26 78 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; 

    } 
    } 
} 

感謝