Nginx服务
对非同源地址的nginx配置要求
http同端口访问http跳转https(497错误)
关于Nginx 的 location 匹配规则总结
Nginx+LUA+Redis实现token访问鉴权
Nginx实现后端Server域名动态解析
Nginx反向代理跨域问题
浏览器报错ERR_CONTENT_LENGTH_MISMATCH
Nginx常见HTTP Code错误排查
使用acme.sh部署证书至Nginx
Nginx在普通用户下使用特权端口 (443端口)
Nginx配置自定义状态页
try_files和alias的组合使用
Nginx中301重定向导致端口丢失
本文档使用 MrDoc 发布
-
+
home page
Nginx在普通用户下使用特权端口 (443端口)
>在 Linux 系统下,只允许 Root 用户运行的程序才可以使用特权端口 ( 1024 以下的端口 )。如果在普通用户下使用特权端口将会报错。 >在一些特定的环境下,程序运行在 Root 帐户下,可能会给 Linux 系统带来安全风险。希望能让普通用户启动的程序运行在特权端口上,例如443端口 ## 特权能力绑定 使用 setcap 命令让指定程序拥有绑定端口的能力,这样即使程序运行在普通用户下,也能够绑定到 1024 以下的特权端口上。 ```bash # 给指定程序设置 CAP_NET_BIND_SERVICE 能力 $ setcap cap_net_bind_service=+eip /path/to/your/application ``` **注意事项**: 1. 请根据实际程序修改对应的`/path/to/your/application`部分 2. 至少需要 2.6.24 内核 3. 当目标程序为脚本时作用无效LD_LIBRARY_PATH, 4. Linux将禁用任何具有提升权限的Application,例如setcap或suid。因此,如果Application使用自定义的LD_LIBRARY_PATH=./lib/,就需要考虑其他选项,例如端口转发。 ## 特权能力清除 如果程序不再需要使用这个能力,可以使用以下命令来清除。 ```bash $ setcap -r /path/to/your/application ``` ## 以Nginx为示例 >注意⚠️:该示例省略了Nginx修改后重载配置的步骤 ! 配置成功后,可正常在nginx下使用普通用户监听1024以下的特权端口使用 ![](/media/202403/2024-03-04_124615_5498580.7481257083527809.png)
Nathan
March 4, 2024, 1:40 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password