Nginx 反向代理重新導向原始網站

Nginx 反向代理重新導向原始網站

為什麼當我單擊登入或登出按鈕時總是重定向到原始網站/代理網站

server {
    listen 80;
    server_name abcd.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate /etc/ssl/doremi/abcd.crt;
    ssl_certificate_key /etc/ssl/doremi/private.key;

    server_name abcd.com;

    location / {
    proxy_pass http://xyz.vip;
    proxy_set_header Accept-Encoding "";
    sub_filter 'http://xyz.vip' 'https://abcd.com';
    sub_filter 'http://xyz.vip/dashboard' 'https://abcd.com/dashboard';
    sub_filter_once off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

每當我點擊 abcd.com 的登入按鈕時,總是會轉到 xyz.vip,謝謝您的幫助


所以我嘗試捲曲 abcd.com 並得到下面的一些結果,仍然很困惑如何使 xyz.vip 變成 abcd.com

curl -vv http://abcd.com/main

< HTTP/1.1 302 Found

< Server: nginx/1.14.0 (Ubuntu)

< Date: Wed, 30 Dec 2020 05:48:58 GMT

< Content-Type: text/html; charset=UTF-8

< Transfer-Encoding: chunked

< Connection: keep-alive

< location: http://xyz.vip

> <!DOCTYPE html> <html>
>     <head>
>         <meta charset="UTF-8" />
>         <meta http-equiv="refresh" content="0;url='http://xyz.vip'" />
> 
>         <title>Redirecting to http://xyz.vip</title>
>     </head>
>     <body>
>         Redirecting to <a href="http://xyz.vip">http://xyz.vip</a>.
>     </body>

答案1

你能嘗試幾件事嗎?將其添加到您的位置

proxy_set_header 主機 $host;

或者

返回 301 https://abcd$request_uri;

而不是 https://$server_name$request_uri;

我沒有使用 sub_filter 選項,我的工作正常。

相關內容