My website is deployed on Tomcat which in turn in deployed on Ubuntu server. While developing the website I access it using server IP address like xxx.xxx.xxx.xxx:8080:/yyyy. Now I have bought a domain name and did a step to redirect www.mydomain.com to xxx.xxx.xxx.xxx. When I try to access my wesite via www.mydomain.com I get Apache Test Page. Could someone provide link or explain remaining steps I need to take to be able to reach my website?
1 Answer
Figured it out with a help of:
Almost perfect solution for me but port forwarding had to be done differently: https://www.digitalocean.com/community/questions/how-to-access-a-java-web-application-by-a-domain-name-using-tomcat-8
About port forwarding: https://www.systutorials.com/816/port-forwarding-using-iptables/
With a help of this article and the post of Robert Goley I figured the port "forwarding" commands I actually needed: https://askubuntu.com/questions/104824/port-forward-to-a-port-on-the-same-machine
So it all came to these steps:
- Stopping Apache2 server on my Ubuntu
Editing Host config in the Tomcat's server.xml to look like:
<Host name="mydomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>www.mydomain.com</Alias> <Context path="" docBase="mydomain_appname" debug="0" privileged="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/></Host>
Then I ran these commands but latter deleted the rules I saw in the iptables (don't know how much of an impact rules 1 and 3 had):
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to XXXXX:8080
iptables -A FORWARD -p tcp -d XXXXX --dport 8080 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
- And finally I ran:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80-j REDIRECT --to-ports 8080
sudo iptables -t nat -I OUTPUT -p tcp -o lo --dport 80-j REDIRECT --to-ports 8080
In the end: now I can access my website with www.mydomain.com as any other website. Port 8443 remains in the URL when I acces secure pages though. Need to fix that.