如何使一个URL指向一个Tomcat实例?

对不起,如果这个问题没有任何意义(这里没有专家),但我明白,tomcat侦听端口8080,该url通常是80。有没有办法告诉DNS的url应该指向8080? 或者我应该如何解决这个问题?

DNS不知道有关端口。 如果你想让tomcat监听端口8080,那么你有几个选项。 首先是在URL中使用端口号

http://example.com:8080/ 

如果你不喜欢看,那么你可以使用你的web服务器作为端口代理,例如在Apache中,你可以使用mod _ proxy

 <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> 

这是通过http://the.site.invaild:8080/

在DNS中无法提供端口。 DNS只将名称映射到IP。 但没有端口。

我认为最好是让tomcat监听端口80.如果没有其他服务器监听端口80,可以这样做。为此,您可以编辑server.xml

更改如下,

 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

现在您可以尝试http://example.com/。这将正确地parsing到您的tomcat实例。因为http的默认端口是80&#x3002;

有可能通过DNS解决这个问题: SRVlogging

使用SRV-Records,你基本上可以告诉DNS来回答一个问题,比如“example.org上的httpd在哪里”? 并且DNS用IP地址和端口号来回答。

虽然我不知道客户端是否要求提供这些信息,或者浏览器只是用A-Record查找并使用端口80从给定的IP请求网站,但是如果您想要使用DNS,可能值得一试。

否则:让以太网Tomcat侦听端口80或通过Apache的mod_proxy将8080redirect到Tomcat。