【问题标题】:nginx proxy_pass with url rewrite - preserve URL带有 url 重写的 nginx proxy_pass - 保留 URL
【发布时间】:2017-05-12 09:51:20
【问题描述】:

我正在尝试为另一个域重写 url,主要议程是让用户使用相同的 URL[dev.gworks.mobi]。

http://dev.gworks.mobi/openam/* -> http://frock.gworks.mobi:8080/openam/*

location /openam {

          proxy_pass http://frock.gworks.mobi:8080/;
          proxy_redirect     off;
          proxy_set_header Host $host;
}

部分有效

  1. http://dev.gworks.mobi/openam/ -> http://frock.gworks.mobi:8080/ [有效]
  2. http://dev.gworks.mobi/openam/XUI/#login/ -> http://frock.gworks.mobi:8080/openam/XUI/#login/[不起作用]

原因是http://dev.gworks.mobi/openam/XUI/#login/ 代理到http://frock.gworks.mobi:8080//XUI/#login/ 而不是http://frock.gworks.mobi:8080/openam/XUI/#login/。我正在尝试重写 URL,但我没有成功。

最后重写 ^/openam/(.*)$ /$1;

谁能帮我实现我的用例?

【问题讨论】:

  • 您的问题令人困惑 - 您是要从映射的 URI 中删除 openam 还是保留它?
  • http://dev.gworks.mobi/openam/* -> http://frock.gworks.mobi:8080/openam/* 这只是我的问题
  • 在这种情况下,请尝试从 proxy_pass 语句中删除尾部斜杠

标签: nginx url-rewriting proxypass


【解决方案1】:

下面是作品

location /openam {
            proxy_pass http://frock.gworks.mobi:8080/openam;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_buffering off;
}

【讨论】:

    猜你喜欢
    • 2018-10-19
    • 1970-01-01
    • 2023-03-08
    • 2011-08-15
    • 1970-01-01
    • 2017-11-13
    • 2018-02-16
    • 2018-07-13
    • 2016-11-02
    相关资源
    最近更新 更多