Rewrite links from hardlinked http to https

Hello!

I’m fairly new at this, but I’ve googled for days and not been able to
solve this, so I thought I’d try asking for help.

I am running a jsp-webapp on Tomcat, and want to use nginx as a reverse
proxy with ssl, in order to access the webapp through https securely
over the internet.

However, this webapp is not nicely written. Instead of linking normally,
say to " page2.jsp ", it links to "
http://www.example.com:8080/page2.jsp ".
I have gotten the reverse proxy to work as I want in the few cases the
webapp links normally, but I haven’t got nginx to change the url of
links that is hardlinked to http.

I first started to try to rewrite the webapp, but some http-links are
generated by compiled .class-files, and I don’t have the source code.

So is there any way to make nginx (or another reverse proxy?) look
through each page that is transferred and change all links and
post-url’s from " http://www.example.com:8080/my/path.jsp?my=action " to
" https://www.example.com/my/path.jsp?my=action "?
That would be very nice, so that I don’t have to try to decompile and
edit several hundred .class-files.

Huge thanks to anyone that help me!

Posted at Nginx Forum:

Hi,

You may have found it by now, but just in case:
http://wiki.nginx.org/NginxHttpSubModule

Try this:
sub_filter “example.com:8080/” “example.com/”;
sub_filter_once off; # Replace all occurrences

Or maybe:
sub_filter “http://www.example.com:8080/” “/”;
sub_filter_once off; # Replace all occurrences

Hope this helps,
GFK’s

Genesis a écrit :