Fix nginx rewrite rule order

This commit is contained in:
Manuel de Brito Fontes 2016-06-04 14:06:18 -04:00
parent b395b714be
commit b1a17c565a
3 changed files with 5 additions and 4 deletions

View file

@ -4,6 +4,7 @@ Changelog
- [X] [#1063](https://github.com/kubernetes/contrib/pull/1063) watches referenced tls secrets
- [X] [#850](https://github.com/kubernetes/contrib/pull/850) adds configurable SSL redirect nginx controller
- [ ] [#1136](https://github.com/kubernetes/contrib/pull/1136) Fix nginx rewrite rule order
### 0.7

View file

@ -173,10 +173,10 @@ func buildProxyPass(input interface{}) string {
// special case redirect to /
// ie /something to /
return fmt.Sprintf(`
rewrite %s / break;
rewrite %s(.*) /$1 break;
rewrite %s / break;
proxy_pass %s://%s;
%v`, location.Path, path, proto, location.Upstream.Name, abu)
%v`, path, location.Path, proto, location.Upstream.Name, abu)
}
return fmt.Sprintf(`

View file

@ -38,8 +38,8 @@ var (
proxy_pass http://upstream-name;
`, false},
"redirect /something to /": {"/something", "/", "~* /something", `
rewrite /something / break;
rewrite /something/(.*) /$1 break;
rewrite /something / break;
proxy_pass http://upstream-name;
`, false},
"redirect /something-complex to /not-root": {"/something-complex", "/not-root", "~* /something-complex", `
@ -53,8 +53,8 @@ var (
subs_filter '<HEAD(.*)>' '<HEAD$1><base href="$scheme://$server_name/jenkins/">' r;
`, true},
"redirect /something to / and rewrite": {"/something", "/", "~* /something", `
rewrite /something / break;
rewrite /something/(.*) /$1 break;
rewrite /something / break;
proxy_pass http://upstream-name;
subs_filter '<head(.*)>' '<head$1><base href="$scheme://$server_name/">' r;
subs_filter '<HEAD(.*)>' '<HEAD$1><base href="$scheme://$server_name/">' r;