为啥tomcat换成80端口就不能访问了?而其他端口可以

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥tomcat换成80端口就不能访问了?而其他端口可以相关的知识,希望对你有一定的参考价值。

如果不是因为端口冲突的原因,则证明80端口是被网络提供商屏蔽掉的。目前全国大多城市的家庭电脑都是无法对方使用80端口的。 参考技术A 说明80端口已经被其他程序占用了。

Tomcat监听443端口的方法

  当我们需要更安全的访问网站的时候就会选择使用https协议,而https协议默认的端口号为443端口,这就是我们为什么向让Tomcat监听在443端口的原因,因为监控在非80端口和443端口的web服务都需要指定端口号来访问,这无疑会影响用户的体验。

  但是,我们如果直接在Tomcat的配置文件中将监听的端口号定义为443或1024以下的端口时,会报以下的错误。

Jul 19, 2017 10:36:05 PM org.apache.catalina.startup.Catalina start

SEVERE: Catalina.start:
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Permission denied (Bind failed) <null>:1023
at org.apache.catalina.connector.Connector.start(Connector.java:1087)
at org.apache.catalina.core.StandardService.start(StandardService.java:531)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

日志提示我们:权限拒绝,绑定失败

 

如果我们想使用1024以下的端口可以使用以下的方法

一、:通过iptables实现端口映射

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

二、:修改Tomcat的配置文件,以root身份启用tomcat

vim /etc/init.d/tomcat6

搜索username 

 












以上是关于为啥tomcat换成80端口就不能访问了?而其他端口可以的主要内容,如果未能解决你的问题,请参考以下文章

tomcat 80端口 无法访问

为啥localhost和127.0.0.1能访问tomcat,本机ip就不能访问

tomcat外网无法访问80和8080端口,其他端口可以访问

怎样设置多个tomcat使用同一个端口

为啥 Tomcat 使用端口 8080 而不是 80?

ubuntu系统下 tomcat的sartup已经启动了 但是为啥不能访问localhost:8080