Linux 下让普通用户的 nginx 能使用 1024 以下端口
文章
林里克斯
普通用户不允许使用 1024
以下的端口,如果提供的是网页服务 80
和 443
基本上是必须的。这篇文章教你用三种方法来解决这个问题。
实验平台:
CentOS Linux release 7.6.1810
Nginx Version:
OpenResty-1.17.8.2
以下三种方法都需要有
root
权限的前提才可以!
- 设置
SetUID
$ chown root:root /data/nginx/sbin/nginx
$ chmod 4755 /data/nginx/sbin/nginx
或
$ chmod u+s /data/nginx/sbin/nginx
#这种方式会让 nginx 的主进程是 root 用户的身份在运行。但是普通用户也有权限操作
iptables
端口转发
$ sudo sysctl -w net.ipv4.ip_forward=1
#首先打开 IP FORWARD 转发功能,这是临时生效
$ sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1
$ sudo sysctl -p /etc/sysctl.conf
#写入配置文件永久生效
$ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
#将 8080 端口的流量转给 80 端口
$ iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8000
#将 8000 端口的流量转给 443 端口
#这种方式不建议在生产环境使用,因为生产环境 Web 业务负载可能会比较高,如果再走一遍 iptables 转发可能会影响业务访问能力
- 赋予监听
1024
以下端口的权限能力
$ setcap cap_net_bind_service=+ep /data/nginx/sbin/nginx
#赋予 nginx 命令可以监听 1024 一下端口的能力
#操作之后,nginx 的背景色可能会改变。
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1614 0 2020-11-28
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
11-13
Nginx 优化之配置目录或特有文件的访问控制
12-10
Docker容器存放目录磁盘空间问题
11-22
Linux 下部署 Elasticsearch
09-16
使用 Nginx 部署 Django
01-20
Python 之路之 运算符 (三)
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353202 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...