如何使 URL 指向 Tomcat 实例?

如何使 URL 指向 Tomcat 实例?

抱歉,这个问题可能没有意义(这里没有专家),但我知道 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。

相关内容