如何使URL指向Tomcat实例?


8

抱歉,这个问题没有任何意义(这里没有专家),但是我了解到tomcat侦听端口8080,并且该网址通常指向80。是否可以告诉DNS网址应该指向8080?还是应该解决这个问题?


DNS
定向

我认为这篇文章解释了如何使用SRV指定端口。但是,似乎将URI端口优先于DNS分配的端口。据我了解,Web浏览器会自动将80端口添加到该地址,这也许可以解释为什么我没有设法使这种方法起作用。
2012年

Answers:


8

DNS对端口一无所知。如果您想让tomcat监听端口8080,则有两种选择。第一种是使用URL中的端口号

http://example.com:8080/

如果您不喜欢它,则可以将网络服务器用作端口代理,例如在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>

如果您还有其他主机在端口80上监听怎么办?我在一台机器上有2台服务器(在这种情况下是必需的),但是我想隐藏URL中的端口号,即使它是侦听该Web服务器流量的端口号。
杰伊·布兰查德

@JayBlanchard我真的不理解您的评论,除了说阅读基于名称的虚拟主机和mod_proxy的文档以外,不会进一步介绍。
user9517 2014年

2

这是由完成的http://the.site.invaild:8080/

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


2

我认为最好让您的tomcat侦听端口80。如果没有其他服务器侦听端口80,则可以执行此操作。为此,您可以编辑server.xml

进行如下更改,

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

现在您可以尝试http://example.com/。这将正确解析为您的tomcat实例。因为http的默认端口为80。


我尝试过您的示例,但它对我不起作用
路飞(Luffy)2015年

2

可能有可能通过DNS解决此问题:SRV记录

使用SRV记录,您基本上可以告诉DNS回答诸如“ example.org的httpd在哪里”之类的问题?DNS会回答IP地址和端口号。

尽管我不知道客户端是否请求此信息,或者浏览器是否只是进行A记录查找并使用端口80从给定IP请求网站,但是如果要使用DNS进行尝试,则可能值得尝试。

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


常见的浏览器尚不支持SRV记录查找-请参阅homepage.ntlworld.com/jonathan.deboynepollard/FGA/…以及此处的讨论。
the-wabbit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.