Rocky Nginx添加端口


SELinux 限制

非标准端口限制:Rocky Linux 默认只允许 HTTP 服务(Nginx/Apache)绑定到一些特定的端口(如 80, 443, 8080 等)。自定义其他端口不在默认允许的名单里。

发起外网连接限制 默认情况下,SELinux 会禁止 Nginx 进程发起外网连接或连接到非标准端口。即使你的后端服务是正常的,系统内核也会出于安全考虑拦截 Nginx 的转发请求。

因此我们在Rocky Linux系统中添加nginx端口访问,我们需要在两个层面“开绿灯”:SELinux(策略层面) 和Firewalld(防火墙层面)。

一、允许 Nginx 转发网络连接

你不需要关闭防火墙或 SELinux,只需要给 Nginx 开启“网络连接转发”的权限即可。执行以下命令:

Markup 全选
setsebool -P httpd_can_network_connect 1

在 SELinux 的默认策略中,httpd 是一个公共域(Domain),它涵盖了几乎所有常见的 Web 服务器程序,包括 Nginx、Apache (httpd)、Lighttpd 等

-P 表示永久生效(Persistent),重启后依然有效。

执行完后,不需要重启 Nginx,直接刷新网页试试。

 

一、在 SELinux(策略层面)中放行该端口

SELinux 默认只允许 Nginx 绑定特定的 HTTP 端口。如果不处理这一步,Nginx 依然会报 Permission denied

1.1 安装工具集(如果尚未安装):

Markup 全选
yum install policycoreutils-python-utils

1.2 查询当前允许的 HTTP 端口:

Markup 全选
# 查询当前允许的 HTTP 端口:
semanage port -l | grep http_port_t

# 将 28422 端口添加到允许列表
semanage port -a -t http_port_t -p tcp 28422

# 删除允许的端口
semanage port -d -t http_port_t -p tcp 28422

# 批量添加端口
semanage port -a -t http_port_t -p tcp 29001-29100

1.3 重新启动 Nginx:

Markup 全选
systemctl restart nginx

 

二、在防火墙 (Firewalld) 中批量放行

SELinux 允许 Nginx 使用这些端口后,你还需要让外部流量能通过防火墙进来。

设置防火墙

Markup 全选
# 1. 永久开放端口范围
firewall-cmd --permanent --add-port=28422/tcp

# 2. 永久开放端口范围
firewall-cmd --permanent --add-port=29001-29100/tcp

# 3. 移除防火墙端口
firewall-cmd --permanent --remove-port=28422/tcp

查看防火墙规则

  • 只查看放行的端口

如果你只想快速确认你刚才添加的一批端口是否生效,用这个:

Markup 全选
# 只查看放行的端口
firewall-cmd --list-ports
  • 只查看放行的服务

比如开通ssh连接,就是根据ssh服务放行的

Markup 全选
firewall-cmd --list-services
  • 查看所有已激活的规则(最常用)

这个命令会显示当前活动区域(通常是 public)的所有配置,包括允许的服务、端口、转发规则等。

Markup 全选
firewall-cmd --list-all

输出示例解读:

services: 列出按名称放行的服务(如 http, ssh)。

ports: 列出手动放行的端口(如 28422/tcp, 9001-9100/tcp)。

masquerade: 是否开启了 IP 伪装(NAT 转发)。

重启防火墙

最后需要重载防火墙

Markup 全选
# 重新加载配置生效
firewall-cmd --reload

 

查看端口是否占用

Markup 全选
ss -tulpn | grep :28422
# 或者使用 netstat (如果安装了的话)
netstat -tunlp | grep :28422

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:Linux Open VPN客户端部署
下一篇:没有了
评论列表

发表评论

评论内容
昵称:
关联文章

Rocky Nginx添加端口
nginx端口转发配置
CentOS安装nginx
nginx初始配置优化
Nginx部署
Rocky Linux10 安装Docker环境
nginx配置http自动重定向到https
nginx配置指南
nginx反向代理https
宝塔系统 nginx位置记录
nginx集群中按照url规则指定节点访问
windows查看端口占用情况
Nginx微信业务域名验证配置
nginx websocket支持
CentOS7 nginx SSL证书申请并自动续期
nginx安装为windows服务
1.服务端对端口进行侦听
windows Nginx配置开机自启动
使用nuget-server搭建私有Nuget包服务器后,nginx反向代理无法下载包
添加公共字典

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码