starting tomcat on port 80 on CentOS release 5.5 (Final)

前端 未结 6 1558
傲寒
傲寒 2021-02-05 15:17

I want to start Tomcat 6.0.29 on port 80. My OS is CentOS release 5.5 (Final) I changed following line in $TOMCAT_HOME/conf/server.xml



        
相关标签:
6条回答
  • 2021-02-05 15:44

    i use nginx 2 bind 80 to 8080 which is the port that tomcat bind to.

    my nginx configure is like this:

    { server

    listen 80;
       #which you can edit in /etc/hosts file.It can bind mydomain.com to 127.0.0.1
    server_name mydomain.com; 
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080;
    }
    access_log logs/xxx456.tk_access.log;
    

    }

    0 讨论(0)
  • 2021-02-05 15:46

    Run Apache in front of Tomcat and connect all requests on Port 80 (Apache) to Tomcat on the AJP port (8009) using mod_rewrite.

    yum install httpd
    chkconfig httpd on
    vi /etc/httpd/conf.d/proxy.conf
    
    RewriteEngine On
    RewriteRule ^/(.*)$ ajp://localhost:8009/$1 [P,QSA,L]
    
    service httpd start
    

    You're done.

    0 讨论(0)
  • 2021-02-05 15:47

    Another option is to use authbind.

    From Wikipedia:

    The authbind software allows a program that would normally require superuser privileges to access privileged network services to run as a non-privileged user.

    0 讨论(0)
  • 2021-02-05 15:50

    The ports in the range 1-1023 are privileged. Only root is allowed to bind to them.

    There is at least two ways to solve this:

    • Run as root. You need to weight the extra security risks this infers, of course; both security holes in Tomcat itself (which I believe to be few) and those your web applications contains (which can for example lead to letting people read /etc/shadow as an example), against this being simple and straight-forward.

    • Run as service with jsvc. See http://tomcat.apache.org/tomcat-5.5-doc/setup.html for details on jsvc. It is some extra hassle to setup, but root will only be involved in setting up the ports, Tomcat will then run as a user without special rights. I recommend this for any serious setup.

    Regardless on what way you choose, the actual starting of Tomcat will need root privilegies.

    ///BR, JenEriC

    0 讨论(0)
  • 2021-02-05 15:53

    go to address: /tomcat7/server.xml, edit file: use attribute porxyPort="80"

    <Connector port="8080" ... proxyPort="80"/>

    which will cause servlets inside this web application to think that all proxied requests were directed to www.mycompany.com on port 80.

    0 讨论(0)
  • 2021-02-05 16:06

    You can change AUTHBIND property of "/etc/default/tomcat6" to "yes" as follows

    AUTHBIND=yes
    

    Restart your tomcat and that will enable you to use available privileged port (1-1023).

    0 讨论(0)
提交回复
热议问题