1
我堅持用Apache「重寫」到Nginx的轉換。Apache-Nginx重寫規則
RewriteCond %{HTTP_HOST} ^new\.app17web\.dev1\.whispir\.net [NC]
RewriteCond %{REQUEST_URI} !^/s/ [NC]
RewriteCond %{REQUEST_URI} !^/jsp/ [NC]
RewriteRule .* /jsp/portal/404/austpost/index.html
RewriteCond %{HTTP_HOST} ^new2\.app17web\.dev1\.whispir\.net [NC]
RewriteCond %{REQUEST_URI} !^/s/ [NC]
RewriteCond %{REQUEST_URI} !^/jsp/ [NC]
RewriteRule .* /jsp/portal/404/austpost/index.html
I have in my Nginx config :
location/{
if ($http_host ~ "^new.app17web.dev1.whispir.net"){
set $rule_0 1$rule_0;
}
if ($uri !~ "^/s/"){
set $rule_0 2$rule_0;
}
if ($uri !~ "^/jsp/"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
rewrite /.* /jsp/portal/404/austpost/index.html;
}
if ($http_host ~ "^new2.app17web.dev1.whispir.net"){
set $rule_0 1$rule_0;
}
if ($uri !~ "^/s/"){
set $rule_0 2$rule_0;
}
if ($uri !~ "^/jsp/"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
rewrite /.* /jsp/portal/404/austpost/index.html;
}
try_files $uri @mainWorker;
}
而且我@mainWorker是:
location @mainWorker {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_pass http://mainWorker;
}
我也有一個proxy.conf
underscores_in_headers on;
proxy_intercept_errors on;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
什麼,我得到的是:
故宮 您的訪問權限不允許你訪問這個內容。 您請求的信息不再可用或已過期。 請返回到您抵達的頁面,或返回到Whispir登錄頁面。 如果我沒有重寫,這一切都可以正常工作,但是當我添加它們時,我就會被禁止。
有沒有人可以指出我的配置錯誤請。
謝謝。 G