我在tomcat上托管了一个webapp。
每当我想访问我必须使用的应用程序:8080跟随我的网址
(例如:webapp.mydomain.com:8080)。
我无法更改Tomcat正在侦听的端口80,因为我需要Apache来监听它。
有没有办法让我使用简单的网址 webapp.mydomain.com 来访问我的应用?
答案 0 :(得分:0)
一个简单的选择是向您的Apache配置添加VirtualServer
ProxyPass
规则(httpd.conf
或$APACHE_HOME/conf.d
中的其他配置文件)。
这将告诉Apache
侦听特定域上的请求,并将与域匹配的请求转发到其他主机/端口。
以下是将所有请求转发到该域(用/表示)并发送到在端口Tomcat
上运行的本地8080
的示例。我还添加了日志示例,以便您可以检查它是否有效:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName webapp.mydomain.com
ServerAlias webapp
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ErrorLog /var/log/httpd/webapp_error.log
CustomLog /var/log/httpd/webapp_access.log combined
CustomLog /var/log/httpd/webapp.log simple
</VirtualHost>
Apache VirtualHost文档: http://httpd.apache.org/docs/2.2/vhosts/
这需要mod_proxy Apache
模块。它可能已经安装。
答案 1 :(得分:0)
您应该使用AJP Connector / mod_jk(Tomcat重定向器模块)将Apache配置为Apache。
如果你谷歌有很多文章: