抱歉,这个问题可能没有意义(这里没有专家),但我知道 tomcat 监听端口 8080,并且 URL 通常指向 80。有没有办法告诉 DNS URL 应该指向 8080?或者我应该如何解决这个问题?
答案1
DNS 对端口一无所知。如果你想让 tomcat 监听端口 8080,那么你有几个选择。第一个是在 URL 中使用端口号
http://example.com:8080/
如果你不喜欢这样,那么你可以使用你的网络服务器作为端口代理,例如在 Apache 中,你可以使用 mod_代理人
<VirtualHost *:80>
ServerName example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / http://example.com:8080/
ProxyPassReverse / http://example.com:8080/
ProxyErrorOverride Off
</VirtualHost>
答案2
这是由 完成的http://the.site.invaild:8080/
。
无法在 DNS 中指定端口。DNS 仅将名称映射到 IP。但没有端口。
答案3
我认为最好让你的 tomcat 监听端口 80。如果没有其他服务器监听端口 80,你可以这样做。为此,你可以编辑 server.xml
修改如下,
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
现在你可以尝试http://example.com/.这个将会正确解析到你的tomcat实例。因为http的默认端口是80。
答案4
也许可以通过 DNS 解决这个问题:SRV 记录
使用 SRV 记录,您基本上可以告诉 DNS 回答诸如“example.org 上的 httpd 在哪里?”之类的问题。DNS 会使用 IP 地址和端口号进行回答。
虽然我不知道客户端是否请求此信息,或者浏览器是否仅执行 A 记录查找并使用端口 80 从给定的 IP 请求网站,但如果您想使用 DNS 执行此操作,这可能值得尝试。
否则:让其他 Tomcat 监听 80 端口或者通过 Apache 的 mod_proxy 将 8080 重定向到 Tomcat。