本文最后更新于 281 天前,如有失效请评论区留言。
nginx-proxy-manager 是基于 nginx 一个反向代理管理系统
Nginx 设置和 ssl 证书申请的 docker 神器,它可以让你轻松地部署到你的网站上运行,包括免费的SSL,而不需要知道太多关于 Nginx 或 Let's Encrypt 的信息
官方网站:https://nginxproxymanager.com/
# 工作目录请按需修改
path_docker=~/docker
# 目录管理
mkdir -p ${path_docker}/ddns-go/ ${path_docker}/npm
# 有需要可以提前拉取好镜像
docker pull jeessy/ddns-go:latest
docker pull jc21/nginx-proxy-manager:latest
创建新文件docker-compose.yml
并添加内容如下:
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '2398:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
直接用 docker-compose 启动
# 上线服务
docker-compose up -d
# 下线服务
docker-compose down
# 更新服务(我还没用过。更新的话建议先对旧服务进行备份,以防新旧版本有兼容问题。)
docker-compose pull
docker-compose up -d
给 npm 加反向代理
http://ip:2398 进入到登录界面
启动后的默认用户名密码是
默认帐户:admin@example.com
默认密码:changeme
进去后先修改登录密码
新加一个代理,给当前的 npm 设置反向代理
给本机做代理时需要添加 docker0 的 IP
ip addr show docker0
添加之后,如果能访问,就再次编辑,开启 SSL 验证
![[image/Pasted image 20240316105542.png]]
如果出现 bad gateway 就再试一次保存
代理本机的应用程序
例如,2579 端口启动的是一个chatgpt 网站,然后将其绑定给域名chat.ygaoblog.cn
注意这里的端口为本机 docker0 的 IP 地址,正常情况下也可以用本机公网IP,但是有时候好像也不行,只能呢过用 docker0 的,暂时还不知道为什么
chatgpt 程序使用的docker-compose,那里面不要配置 nginx ,直接用 NPM 来管理