使用docker compose部署nginx-proxy-manager并配置子域名
部署npm
创建npm目录
mkdir npm
cd npm
sudo nano docker-compose.yml
version: "3.9"
services:
npm:
image: jc21/nginx-proxy-manager:latest
container_name: nginx_proxy_manager
restart: unless-stopped
ports:
- "80:80" # HTTP
- "81:81" # NPM 管理后台
- "443:443" # HTTPS
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
保存文件。
sudo docker compose up -d
配置npm
浏览器输入你的ip:81访问网页,第一次访问npm管理后台设置密码与邮箱即可,更改默认密码

进入管理后台后,点击证书列表,再点击添加证书

点击自定义证书


此处使用cf15年证书,(ssl证书申请可参考为本地apache启用cloudflare的15年证书,并启用https – 奇奇怪怪的小窝)名称自定义,此处写为
cf
证书密钥选择文件上传之前保存的privkey.pem,证书选择并上传fullchain.pem,中间证书不选择(cf这个证书不需要),点击保存即可。
点击主机列表,代理服务,再点击添加代理服务


域名处填写域名,比如此处填写img.test.com
协议选择http
转发主机名选择容器名称,此处填写php_apache ,(可通过sudo docker ps查看容器名称)
转发端口选择80,(看你的容器内部监听哪个端口)
勾选阻止常见攻击与websockets支持。
再点击上方的ssl
下拉选择cf证书

勾选下述

点击保存。
配置cf
点击dns,记录,再次点击打开窗口右侧的添加记录


名称填写img
ipv4地址填写你的ip
点击保存。
浏览器访问你的子域名就可以啦
比如访问img.test.com 就可以访问网站内容了。