我的网站是已部署在雄猫进而部署在Ubuntu服务器。在开发网站时,我使用服务器 IP 地址(如 xxx.xxx.xxx.xxx:8080:/yyyy)访问它。现在我买了一个域名并执行了将 www.mydomain.com 重定向到 xxx.xxx.xxx.xxx 的步骤。当我尝试通过 www.mydomain.com 访问我的网站时,我得到了 Apache 测试页面。有人可以提供链接或者解释剩余步骤我需要花多少钱才能访问我的网站?
答案1
在以下帮助下解决了这个问题:
对我来说几乎是完美的解决方案,但端口转发必须以不同的方式完成: https://www.digitalocean.com/community/questions/how-to-access-a-java-web-application-by-a-domain-name-using-tomcat-8
关于端口转发: https://www.systutorials.com/816/port-forwarding-using-iptables/
在本文和 Robert Goley 的帖子的帮助下,我找到了我真正需要的端口“转发”命令:https://askubuntu.com/questions/104824/port-forward-to-a-port-on-the-same-machine
因此一切都归结为以下步骤:
- 停止Apache2我的服务器上Ubuntu
編輯主持人配置中Tomcat 的 server.xml看起来像:
<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>
然后我运行了这些命令,但是后者被删除我在 iptables 中看到的规则(不知道规则 1 和 3 有多大影响):
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
- 最后我运行:
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
到底:现在我可以通过 www.mydomain.com 访问我的网站,就像访问其他网站一样。但是当我访问安全页面时,端口 8443 仍保留在 URL 中。需要修复这个问题。