今天给大家介绍一款 Nginx 可视化管理界面,非常好用,小白也能立马上手。
nginx-proxy-manager 是一个反向代理管理系统,它基于 NGINX,具有漂亮干净的 Web UI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。它是开源的,斩获 11.8K 的 Star 数。
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker-compose up -d
#如果使用的是 docker-compose-plugin
docker compose up -d
运行成功后,访问 http://127.0.0.1:81 就能看到界面啦

网站默认账号和密码为
账号:admin@example.com
密码:changeme
登录成功后第一次要求修改密码,按照步骤修改即可!

这里,我们就用 http://a.test.com 来绑定我们的端口号为81的后台管理界面,实现浏览器输入 http://a.test.com 即可访问后台管理界面,并且设置HTTPS。
先用ip:81 访问后台管理界面,然后输入账号密码进入后台。
点击绿色图标的选项

点击右边Add Proxy Host ,在弹出的界面Details选项中填写相应的字段。

Forward Hostname / IP填写说明
如果搭建的服务和nginx proxy manager服务所在不是一个服务器,则填写能访问对应服务的IP。如果都在同一台服务器上,则填写在服务器中输入ip addr show docker0 命令获取得到的ip。

这里不填127.0.0.1的原因是使用的是docker容器搭建web应用,docker容器和宿主机即服务器不在同一个网络下,所以127.0.0.1并不能访问到宿主机,而ip addr show docker0获得的ip地址就是宿主机地址。

接下来即可用a.test.com 访问后台管理界面,此时还只是http协议,没有https。不过此时就可以把之前的81端口关闭了,输入a.test.com 访问的是服务器80端口,然后在转发给内部的81端口。
申请一个a.test.com 证书,这样就可以提供https访问了。
在Nginx Proxy Manager管理后台,选择Access Lists->Add SSL Certificate->Let's Encrypt选项。

按照下图方式填写,点击Save就可以了

进入反向代理设置界面,编辑上文创建的反代服务,选择SSL选项,下拉菜单中选择我们申请的证书,然后可以勾选Force SSL即强制HTTPS。

以上就是本教程的全部内容,更多的使用教程,大家可以访问官方文档。
官方文档:https://nginxproxymanager.com/guide/