三明市文章资讯

Tomcat端口仅允许本地访问设置的两种方法

2026-03-27 18:49:01 浏览次数:0
详细信息

方法一:修改Tomcat连接器配置(推荐)

conf/server.xml 文件中修改Connector配置:

1. 只监听本地回环地址

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

或者

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

2. 对于AJP连接器同样设置

<Connector port="8009" protocol="AJP/1.3"
           address="127.0.0.1"
           redirectPort="8443" />

方法二:使用防火墙配置

1. Linux系统(使用iptables)

# 允许本地回环访问
iptables -A INPUT -i lo -j ACCEPT

# 允许本地访问Tomcat端口
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -s ::1 -p tcp --dport 8080 -j ACCEPT  # IPv6

# 拒绝其他所有对Tomcat端口的访问
iptables -A INPUT -p tcp --dport 8080 -j DROP

# 保存规则(根据系统不同)
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

2. Windows系统

# 新建入站规则,仅允许本地IP
New-NetFirewallRule -DisplayName "Tomcat Local Only" -Direction Inbound `
    -LocalPort 8080 -Protocol TCP -Action Allow -RemoteAddress 127.0.0.1

# 或使用高级安全防火墙
# 1. 创建允许规则:源IP=127.0.0.1,端口=8080
# 2. 创建阻止规则:源IP=任何,端口=8080

额外方法:修改Tomcat启动脚本

bin/catalina.shbin/catalina.bat 中:

# Linux catalina.sh
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
export JAVA_OPTS
rem Windows catalina.bat
set "JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true"

验证配置

配置后通过以下方式验证:

# 检查端口监听状态
netstat -an | grep 8080

# 应该看到类似输出
# tcp   0   0 127.0.0.1:8080   0.0.0.0:*   LISTEN

# 测试本地访问
curl http://localhost:8080

# 测试远程访问(应该失败)
# 从其他机器访问服务器IP:8080

注意事项

重启生效:修改server.xml后需要重启Tomcat 安全性:方法一(修改配置)更简单,方法二(防火墙)更安全 IPv6:如果需要支持IPv6,使用 ::1 替代 127.0.0.1 多个接口:如果服务器有多个网络接口,确保只绑定到回环接口 管理需求:如果还需要通过本地访问管理界面,确保相关端口也做了同样限制

根据实际需求选择合适的方法,通常修改Tomcat配置是最直接的方式。

相关推荐