2016-12-28 260 views
0

我想重寫另一個域的URL,主要議程是保持用戶在相同的URL [dev.gworks.mobi]。nginx proxy_pass與URL重寫 - 保存URL

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/ instea d的http://frock.gworks.mobi:8080/openam/XUI/#login/。我正在嘗試重寫URL,但我沒有成功。

重寫^/openam /(.*)$/$ 1最後;

任何人都可以幫助我實現我的用例嗎?

+0

你的問題是混亂的 - 你想從映射的URI刪除'openam'或保存呢? –

+0

'http:// dev.gworks.mobi/openam/*' - >'http://frock.gworks.mobi:8080/openam/*'這只是我的問題 –

+1

在這種情況下,嘗試刪除尾部斜槓proxy_pass語句 –

回答

0

下面一個是作品

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; 
}