nginx proxy manager 的端口转发配置

之前写过一篇关于nginx proxy manager(下称NPM)的文章UNRAID安装配置nginx proxy manager反向代理,但没有细说端口转发的问题。

一般配置NPM只需要在路由器配置最多2个端口转发就行了,也就是NPM自己的http和https端口转发到公网IP。

假设

  • 公网IP(DDNS域名)为:xyz.com
  • 公网端口:44333
  • NPM服务端口为:4433
  • 有3个服务(都为http 80端口)需要NPM反代,分配给他们的二级域名分别是a、b、c

那么他们的转发模式如下

https://a.xyz.com:44333——》NPM的局域网IP:4433——》服务1的局域网IP:80
https://b.xyz.com:44333——》NPM的局域网IP:4433——》服务2的局域网IP:80
https://c.xyz.com:44333——》NPM的局域网IP:4433——》服务2的局域网IP:80

也就是说公网IP到NPM的端口转发是固定的,NPM是靠不同的域名来区别该访问哪个服务,所以我们在做NPM端口转发的时候几乎只需要做一个,也就是公网IP端口转发到NPM的https端口(大部分人用NPM都是为了https吧)。

虽然做端口转发轻松了,但别忘了DDNS的活可以一点没少。

有任何问题欢迎留言

UNRAID安装配置nginx proxy manager反向代理

如果你配置在unraid上的某个docker需要https连接,那反向代理很适合你。unraid要实现反代只要一个简单的docker就行了,那就是nginx proxy manager(下称NPM)

#需要的材料

  • 一个域名,并且最好托管在阿里云或者腾讯(DNSPOD),以方便NPM申请证书。

#安装

unraid菜单栏APPS——》搜索安装nginx proxy manager

我还是建议大家用cunstom:br0自定义局域网IP的模式,给一个局域网的IP就完成了,其他全都默认就行,特简单。

#配置

用192.168.2.243:8181就可以登陆webui后台

初始登录账号密码为:admin@example.com/changeme,登录后第一件事会提醒你修改邮箱、用户名和密码

1,先申请SSL证书,点SSL Certificates

2,点Add SSL certificate,选Let’s Encrypt

3, 将需要申请证书的域名填入Domain names;并且填入邮箱以接收证书到期的通知(但会自动续期)

DNS provider选Aliyun,并将access_key和access_key_secret后面的字符串替换成自己阿里云的。如何获取阿里云的密钥可以参考这篇文章 通过aliddns插件远程访问路由器

完成后会获取一张自动续期的SSL证书

4,点Proxy Hosts,新建一个代理主机,在Details一栏,

  • Domain Names:填刚才申请证书的域名
  • Scheme/Forward Port:转发目的地的访问模式一般http和80端口
  • Forward hostname/IP: 转发目的地主机的IP

5,点右边SSL一栏,SSL certificate可以选到刚才申请的证书

勾选Force SSL和HTTP/2 support,完成。

#端口转发

现在要实现外网访问局域网内192.168.2.244:80这个服务的流程是:

外网先访问NPM反代主机(192.168.2.243:4443)的https——》再由NPM转到局域网内这个服务(192.168.2.244:80,http)

(为什么NPM的本地端口是4443?往上翻看刚建成时候的截图)

但外网并不能直接访问局域网NPM,所以还是需要将公网IP端口转发到NPM上。这一步就要大家自行百度了,最终流程是:

外网IP端口——》NPM反代主机(192.168.2.243:4443)的https——》局域网内这个服务(192.168.2.244:80,http)

有任何问题欢迎留言,enjoy~