我正在使用Digital Ocean提供的ubuntu 18.04服务器。
我已经将应用程序部署在运行于80的tomcat中。
server.xml:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Host name="mydomain.in">
<Alias>www.mydomain.in</Alias>
<Context path="" docBase="mydomain" 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>
我可以使用url从浏览器访问我的应用程序:
www.mydomain.in:8080
但是我无法通过端口访问我的域。
如果我错过任何配置,请帮助我。
答案 0 :(得分:1)
首先检查端口80上是否正在运行任何其他应用程序/服务器。如果还有其他应用程序/服务器在运行,则除非杀死前一个,否则无法在80上运行tomcat。
netstat -an | grep ":80"
即使端口80上没有任何运行,最好的办法是将tomcat的端口保留为8080,并使用iptables将端口80重定向到该端口。
sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
显然,通常的方法是让Web服务器(如apache httpd)在端口80上侦听并将所有请求转发到在8080上运行的tomcat。这就是我要做的。