配置Tomcat / Catalina以在端口80上以root身份提供应用程序

时间:2013-02-20 01:04:52

标签: java tomcat

我通常不使用Java应用程序,但我正在尝试设置和配置Java-based, open-source wiki。我通过在Ubuntu上使用APT安装并运行它。其默认网址为localhost:8080/xwiki。我想配置tomcat,catalina或其他任何东西,以便它可以在端口80和域根目录下使用。我将其设置为子域:wiki.example.com

如何在Tomcat中配置它?

5 个答案:

答案 0 :(得分:2)

1)转到tomcat安装目录中的conf文件夹

e.g。 C:\ Tomcat 6.0 \ conf \

2)编辑server.xml文件中的以下标记

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

3)将port = 8080值更改为port = 80

4)保存文件。

答案 1 :(得分:1)

请注意,在privileged port (less than 1024)上运行流程的唯一方法是以root身份运行您的流程。

从安全角度来看,这是不好的,可接受的替代方法是使用iptables将发往端口80的请求转发到您的应用程序服务器端口。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

这将通过以root身份运行您的服务器来缓解任何重大安全威胁,并且仍然允许您的进程通过标准端口80工作。

另外,要回答有关在不指定网址中的应用程序名称的情况下运行应用程序的问题,请查看以下内容: http://benhutchison.wordpress.com/2008/07/30/how-to-configure-tomcat-root-context/

答案 2 :(得分:1)

根据许多建议,我决定不尝试使用tomcat在端口80上提供应用程序。相反,我将Apache设置为反向代理并使用默认设置保留tomcat。以下是我在Ubuntu上配置Apache所做的工作:

  1. 安装apache:sudo apt-get install apache2-mpm-prefork
  2. 启用代理apache模块:sudo a2enmod proxy_http
  3. 在/ etc / apache2 / sites中创建一个虚拟主机文件,其中包含以下内容:

    <VirtualHost *:80>
      ServerName wiki.yourdomain.com
    
      RedirectMatch permanent ^/$ http://wiki.yourdomain.com/xwiki/
    
      ProxyPass /xwiki http://localhost:8080/xwiki
      ProxyPassReverse /xwiki http://localhost:8080/xwiki
    
      DocumentRoot /var/www
      <Directory "/var/www/">
        Options -Indexes Includes FollowSymLinks
        AllowOverride All
        Allow from all
      </Directory>
    </VirtualHost>
    
  4. 重启apache:sudo service apache2 restart

答案 3 :(得分:0)

请参阅server.xml并编辑配置设置,如端口号,根目录等。

答案 4 :(得分:0)

我会使用mod_vhost,描述为here