LInux设置tomcat端口为80
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
上面的是tomcat的默认端口号,我们只需要吧8080改成80即可。但是和修改之后是无论如何都无法访问的。
网上有很多说法,我尝试了都不能解决当前问题,最后终于找到了问题的原因。
在Linux系统。普通程序无法监听1024以下的端口,1024以下的端口只有root应用程序能使用,所以即使把tomcat的端口号改成80也无法监听到从80端口进来的服务请求。
解决方案是使用端口转发,将80端口进来的服务请求转发到tomcat的端口上去,这里以8080为例子。
设置端口转发命令:
iptables -t nat -A PREROUTING -p tcp --dport -j REDIRECT --to-port
我使用的mint版本的Linux系统,没有/etc/sysconfig/iptables,所以必须手动保存,不然重启一次机器配置就失效了,然后还得让系统每次启动重新加载配置文件。
做法如下:在编辑/etc/network/interfaces,在末尾添加以下两行。
第一行是每次启动重新加载/etc/iptables.up.rules文件到iptables,iptables-restore命令是重新加载iptables配置
第二行是每次关机将iptables的配置保存到/etc/iptables.up.rules文件中
pre-up iptables-restore < /etc/iptables.up.rules
post-down iptables-save > /etc/iptables.up.rules
以上,就完成了配置,即可实现tomcat绑定80端口。
但我依然有我不能理解的地方,按照我的理解,即把tomcat的端口改成8080或者其他任意的可用端口都可以实现端口转发,但是这里必须把80端口添加到tomcat的server.xml文件中才能实现正常访问。即在server.xml文件里面必须有以下配置
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
没有配置8080端口也可以访问到,这种表现不就是在说,只需要把server.xml的文件的端口号改成80就可以了吗?
LInux设置tomcat端口为80的更多相关文章
- 关于设置tomcat端口为80的事
今天有人要求tomcat服务器的访问地址不能带端口访问, 也就是说只能用80端口访问网站. 那么问题来了, Ubuntu系统禁止root用户以外的用户访问1024以下的商品, 因此tomcat 默认为 ...
- Linux下Tomcat端口、进程以及防火墙设置
Linux下Tomcat端口.进程以及防火墙设置 1,查看tomcat进程: #ps -aux | grep tomcat(或者ps -ef | grep tomcat都行) 可以看到现在运行着两个 ...
- 使用AdvancedInstaller打包web工程设置tomcat端口的方法
原文:使用AdvancedInstaller打包web工程设置tomcat端口的方法 1.首先,要把你要打包的tomcat下的server.xml文件删掉,因为tomcat自带的serv ...
- Linux下tomcat端口、自启问题
一.防火墙开放8080端口命令: 以下命令只针对 CentOs 7 以上版本,CentOS升级到7之后,使用firewalld代 替了原来的iptables: 启动: # systemctl star ...
- linux设置tomcat开机自启动
本文假设jdk环境安装成功,如何安装JDK请参考这个链接: http://www.cnblogs.com/yoyotl/p/5395208.html 1. 下载apache的安装包,例如本例下载了ap ...
- linux 设置tomcat快捷启动方式
在linux下搭建好tomcat之后,每次启动和关闭都要去tomcat的bin目录下执行./startup.sh和./shutdown.sh 这是很不方便的,下面介绍如何像执行ls mv cp等命令一 ...
- linux设置tomcat开机启动
[root@iZ94j7ahvuvZ ~]# cd /etc/rc.d/ [root@iZ94j7ahvuvZ rc.d]# cat rc.local #!/bin/sh # # This scrip ...
- linux设置tomcat开机自动启动
1.修改/etc/rc.d/rc.local,使用vi /etc/rc.d/rc.local 命令2.在/etc/rc.d/rc.local文件最后添加下面两行脚本 export JAVA_HOME= ...
- Linux下tomcat端口被占用
首先查看占用端口的程序 netstat -alnp | grep 8080 然后出现 tcp6 2 0 :::8080 :: LISTEN 1392/java 杀死端口号 kill -9 1392(进 ...
随机推荐
- Dart中排除空的情况:
但是dart的string类型还有另一个方法isNotEmpty,此时这样写: if (str?.isNotEmpty()) { // str is not empty, do something } ...
- 一些有用的github收藏(持续更新中...)
1.facebook的c++开源库folly(Facebook open source library)介绍 https://github.com/facebook/folly 2.pprint 一个 ...
- ES6深入浅出-4 迭代器与生成器-2.Symbol 和迭代器
symbol https://zhuanlan.zhihu.com/p/22652486 Es5中的数据类型,所有的复杂类型都是对象类型. ES6里面增加了symbol类型,用处不多. https:/ ...
- ANSI转义序列
http://ascii-table.com/ansi-escape-sequences.php 制作控制台程序时, 要实现一些特殊效果, 需要了解一下 [ANSI转义序列] . ANSI转义序列是一 ...
- idea里面lombok要如何设置后才会生效
16:31 Lombok Requires Annotation Processing Annotation processing seems to be disabled for the proje ...
- WebException 请求被中止: 操作超时
HTTP 请求时出现 :WebException 请求被中止: 操作超时 处理HTTP请求的服务器 CPU 100% ,重启后正常.
- Nginx负载均衡-如何自定义URL中的hash key2
upstream backend1 { server 192.168.3.236:555; server 192.168.3.236:222; ...
- String类的构造函数,析构函数、拷贝构造函数和赋值函数
(1)构造函数 String::String(const char *str) { if(str==NULL) { m_data = new char[1]; *m_data = ‘\0’; } el ...
- ROS中的通信机制
http://www.ros.org/core-components/ Communications Infrastructure At the lowest level, ROS offers a ...
- 【HTML5校企公益课】第二天
1.上午讲昨天的作业. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...