作者:小凉
来自:开源有益
昨天晚上,朋友给我发了一堆截图。
他搭了个个人博客,想让外网访问,结果被Nginx配置搞崩溃了。满屏的server块、location规则,还有那些看不懂的SSL配置参数。
“我就想让我的博客能用HTTPS访问,怎么这么难?”
他最后一句话让我笑了:“我感觉自己在学天书。”
其实不止他一个人有这种感觉。很多人都被Nginx配置劝退过。明明只是想做个简单的反向代理,结果要学一堆命令行操作,还要担心证书过期网站挂掉。
直到我发现了Nginx Proxy Manager这个项目。
这玩意儿到底有多简单?
官方有句很狂的话:“让猴子都能配置反向代理。”
我一开始还不信。直到亲自试了一下。。。真香。
整个过程就像在玩一个配置游戏:
- 点点鼠标,填几个框
- 勾选“申请SSL证书”
- 点保存
然后?没有然后了。你的HTTPS网站就搞定了。
几乎不需要记任何Nginx语法,不需要手动续期证书,甚至不需要知道什么是反向代理。
它解决了哪些让人抓狂的问题?
1. SSL证书自动化
还记得Let‘s Encrypt证书90天过期的噩梦吗?
这个工具直接集成了证书申请和自动续期。你只需要填个邮箱,剩下的它全包了。支持通配符证书,一个证书搞定所有子域名。
2. 可视化配置界面
告别这种让人头大的配置:
server {
listen 443 ssl http2;
server_name example。com;
ssl_certificate /path/to/cert;
# 还有一堆看不懂的配置。。。
}
现在只需要在网页上填几个框框就行。域名写哪里,转发到哪个IP和端口,一目了然。
3. 多服务统一管理
家里搭了一堆服务?NAS、HomeAssistant、Jellyfin。。。
以前要给每个服务单独配置,现在在一个界面就能管理所有代理规则。还能设置访问权限,给敏感服务加密码保护。
5分钟快速上手
第一步:用Docker启动
创建一个docker-compose.yml
文件:
services:
app:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # HTTP端口
- '81:81' # 管理界面端口
- '443:443' # HTTPS端口
volumes:
- ./data:/data # 数据持久化
- ./letsencrypt:/etc/letsencrypt # SSL证书存储
然后运行:
# 启动容器
docker-compose up -d
# 查看运行状态
docker-compose logs -f
第二步:登录管理界面
浏览器打开 http://你的服务器IP:81
默认账号:admin@example.com
默认密码:changeme
⚠️ 首次登录后会强制要求修改密码和邮箱!
第三步:添加你的第一个代理
点击“Proxy Hosts” → “Add Proxy Host”
填写基本信息:
- Domain Names:
blog.example.com
- Scheme: http
- Forward Hostname:
192.168.1.100
(你的内网服务IP) - Forward Port:
3000
(服务端口)
切换到SSL标签,
- 勾选“Request a new SSL Certificate”,
- 勾选”Force SSL”和”HTTP/2 Support”
- 填写邮箱地址
- 点击”Save”
几分钟后,你的https://blog.example.com 就可以正常访问了!
搞定了。你的HTTPS网站已经可以访问了。
一些实用的小技巧
技巧1:用容器名代替IP
使用Docker网络名称代替IP地址:
Forward Hostname/IP: my-app-container
Forward Port: 3000
这样即使容器重启IP变化也不影响代理。
技巧2:批量管理子域名
对于多个子域名指向同一服务,可以这样配置
Domain Names:
app.example.com
api.example.com
admin.example.com
一个代理主机配置就能处理多个域名。
技巧3:给管理后台加把锁
创建一个Access List,设置IP白名单。这样只有特定IP才能访问你的管理界面。
技巧4:自定义高级配置
需要特殊配置?在Advanced标签里可以加自定义Nginx配置:
client_max_body_size 100M; # 上传大文件
add_header X-Frame-Options “SAMEORIGIN”; # 安全头
谁最适合用这个工具?
- 个人开发者:多个项目需要不同域名访问
- 家庭服务器玩家:想让NAS、智能家居等服务外网访问
- 小团队:需要简单可靠的反向代理方案
- 运维新手:想学反向代理但不想啃文档
28k的star说明了一切。这个项目真正做到了“让复杂的事情变简单”。
最让我惊喜的是它的稳定性。部署后基本不需要维护,证书自动续期,配置持久化保存。真正的一劳永逸。
如果你也被Nginx配置折磨过,或者正在寻找一个简单的反向代理方案,强烈建议试试这个项目。
相信我,用过之后,你再也不想手写Nginx配置了。
项目地址:https://github.com/NginxProxyManager/nginx-proxy-manager
暂无评论内容