Nginx selective forwarding
I encountered a situation today where Nginx had to forward all requests to tomcat except couple of URL’s which will be served by static content located inside Nginx root folder. This is what I did:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[php] server { server_name localhost; #root specifies the folder which contains all static content for Nginx. Make sure you have a folder named as calendar located inside root folder. root /usr/share/nginx/html; index index.html index.htm; #This (localhost/calendar) is the URL which I wanted to be served by Nginx and not tomcat. location /calendar { proxy_redirect off; } location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080; } } [/php] |
You just need to restart Nginx after changing this configuration and localhost/calendar will be served by Nginx and it will not be forwarded to tomcat.
I am no expert in Nginx but I get the job done. If there is a better way to do it please let me know in comments. Hope it helps.
Check out this link for more posts related to Nginx
Recent Comments