使用 Nginx Proxy Manager反向代理开启SSL

今天又看到有人在推荐NginxProxyManger(太长了,下文NPM指代),于是我也在局域网的机器内装了一个,发现确实简单好用完全的界面操作非常便捷而且支持使用CloudflareDNS验证申请Let’sEncrypt的通配符证书,也很方便设置访问限制。

安装部署

  • 使用Docker安装是非常的简单首先创建nginx-proxy-manager.yml文件
version:'3'
services:
nginx-proxy-manage:
container_name:nginx-proxy-manager
image:chishin/nginx-proxy-manager-zh:latest
ports:
-'8188:80'
-'8189:81'
-'8190:443'
volumes:
-/volume1/docker/nginx-proxy-manager/:/data
-/volume1/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
restart:unless-stopped

访问项目

  • 然后配置文件所在目录执行docker-compose-fnginx-proxy-manager.ymlup-d就可以访问http://ip测试了,管理页面访问http://ip:81,默认管理员账户如下登入后即时修改。
    默认账密:Email:admin@example.com Password:changeme

申请SSL证书

  • 申请证书点击顶部的SSL证书>添加SSL证书>添加Let's Encrypt证书,根据如图提示填写即可

img

添加反代站点

  • 在Hosts>ProxyHosts中点击AddProxyHost即可添加AddProxyHostDomainNames填写要使用的域名,下面部分填写的是目标网站,需要注意的是如果使用的是Docker安装的NPM,反代本机的站点也不能使用localhost或是127.0.0.1,要填写对应的局域网IP,或是使用ipaddrshowdocker0获取的IP地址然后在SSL标签页中选择要使用的证书即可。

img

文章总结

  • 在证书申请页面添加所需要的域名,添加云服务商域名的密钥进行申请免费的域名证书成功后,在添加站点反代内网的一些站点即可实现https访问,请注意以上申请的必要条件 需要一个独立的域名和带有公网或者动态公网ip才可以(动态公网IP需要使用到DDNS)
posted @ 2024-03-28 18:51  阿鱼君  阅读(49)  评论(0编辑  收藏  举报