簡體   English   中英

Apache - Nginx重寫規則

[英]Apache - Nginx Rewrite rule

我堅持使用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

我想我發現了這個問題。 位置塊中的if語句指向上游,檢查/jsp/portal/404/austpost/index.html; ,這不是上游,它是Nginx服務器的本地。

所以從位置/塊中取出if語句,一切正常。

做了太多的假設,它是上游到我的Jboss服務器。

謝謝你看。

ATB。

G

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM