【发布时间】:2017-02-21 12:47:43
【问题描述】:
我有一个反向 nginx 代理,我想路由所有进来的请求:
http://dns.com/content/xyz <—to—> http://dns.com/content/1.0/xyz
我有一个上游:
upstream backend_api.content.com {
server localhost:8080 max_fails=5 fail_timeout=30;
keepalive 100;
}
和位置:
#Content Service
location ~* ^/content/?(.*) {
set $proxy_pass "http://backend_api.content.com";
rewrite ^/content/1.0(/.*)$ /content/1.0$1 break;
proxy_pass $proxy_pass
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host "api.stg.xxx.com";
proxy_set_header X-3scale-proxy-secret-token $secret_token;
proxy_set_header Original-Host $http_host;
proxy_set_header Authorization $outbound_auth_header;
proxy_set_header Original-Uri $scheme://$http_host$uri;
post_action /out_of_band_oauth_authrep_action;
}
但似乎http://dns/content/xyz 的任何东西都失败了,只有当我给http://dns/content/1.0/xyz 时它才会起作用。
【问题讨论】:
标签: nginx dns reverse-proxy nginx-location