首页 > 解决方案 > nginx url重写而不重定向

问题描述

我正在尝试在 nginx 中配置反向代理。

http://apps.domain.example.com/abcadmin -> http://server1.exampl.com:8080/xyzadmin

因此,当我点击 URL 时,http://apps.domain.example.com/abcadmin我应该能够在http://server1.exampl.com:8080/xyzadmin没有 URL 重定向的情况下查看内容。

我尝试如下配置服务器。但我没有得到预期的结果

upstream exe-al-server-up {
  server exe-ser-ab.rds-dev:8080;
}

server {
    server_name apps.domain.example.com;
    proxy_pass_header Authorization;
    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_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;

    location /abcadmin/ {
      rewrite ^/xyzadmin(.*) /$1 break;
      proxy_pass      http://imp-al-ra-up/xyzadmin/;
    }

  }

标签: nginxurl-rewritingreverse-proxy

解决方案


您可以尝试更改重写规则。

upstream exe-al-server-up {
  server exe-ser-ab.rds-dev:8080;
}

server {
    server_name apps.domain.example.com;
    proxy_pass_header Authorization;
    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_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;

    location /abcadmin/ {
      rewrite ^/abcadmin(.*) /$1 break;
      proxy_pass      http://imp-al-ra-up/xyzadmin/;
    }

  }

推荐阅读