rewrite and proxy_pass at the same time in nginx

marianopeck nginx-forum at nginx.us
Mon Nov 18 20:55:08 UTC 2013


HI guys. I am trying to make something to work in nginx but I have no luck.
I posted in StackOverflow, and no answer. 
I wish any of you can help me. I paste the SO question here as well:

I am using nginx and I need a proxy to redirect some service. From my
application, I should be able to do a POST, for example, to this URL:
http://localhost:8776/specialService/aserverthatlistens.com/serviceToCall.
And I need to rewrite it like this:
https://aserverthatlistens.com/serviceToCall (notice that this URL is HTTPS,
not HTTP).

I know I can use rewrite but I don't know how to use proxy_pass also,
because the url of the proxy_pass should be what I rewrote...

Notice that I cannot know in advance what is the final url
(aserverthatlistens.com in this example), so I always need to get it form
the URL. I could send it as parameter if that help instead of being part of
the URL.

So far my server configuration looks like this:

server
{
  listen 8776;
  server_name localhost;

  access_log  /var/log/nginx/tunnel.log;
  error_log  /var/log/nginx/error.log info;

  location ~ ^/someService(/.*)$ {
      proxy_pass https://$1;

  }

}

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,244782,244782#msg-244782



More information about the nginx mailing list