unRAID-Docker ·

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。

反向代理:一种非常方便的部署HTTPS的方法(以下简称反代)。对于我这种不懂代码的人,使用nginx本身写配置来完成反向代理的设置实在是一件过于困难的事情。

所以我们就让成品的软件来为我们提供服务吧。现在要介绍的是:NginxProxyManager------------一款专门提供反向代理的软件(它本身的其他功能请自行摸索)。

在unraid的app商店中搜索NginxProxyManager,显示的是这样的:unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第1张

翻译过来的意思的:Nginx代理管理器使您可以轻松转发到在家运行或以其他方式运行的网站,包括免费的SSL,而无需过多了解Nginx或Letsencrypt。

首先明确一点就是:unraid下的app商店里面的东西,都是docker镜像,所以这个软件在其他的可以运行docker的系统里面也是可以正常部署和运行的,只是unraid的app商店里面提供了部署模板,会更方便而已。

这里也附上此项目的地址:Nginx Proxy Manager(github)   ,Nginx Proxy Manager(dockerhub)

废话不多说,说完介绍,现在开始说如何部署和设置这个软件:

unraid中部署页面是这样的:unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第2张

简单介绍下:3个端口:7818是程序的管理端口,你的管理界面从这个端口进行访问;1880是程序的http端口,你反代到程序的http页面通过这个端口访问;18443是你反代到程序的https页面通过这个端口访问。你可以把你的端口改成你乐意的数字(注意在端口范围内),不和其他端口重合就行。

设置好之后,按下apply键。docker就会从dockerhub pull 下来这个镜像,按照模板的配置,生成容器。换句话说,就是应用按照设置下载好了。

浏览器里面输入:http://ip:7818(或者你设置的端口) 访问反代程序的管理页面:

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第3张

默认的登录账户和密码是:

  • Email address: admin@example.com
  • Password: changeme

登录进去后,会弹出一个窗口,让你修改登录账户和密码。

点击页面上方的Dashboard 标签,进入主界面。选择绿色的Proxy hosts.(这里是反向代理页面,其他三个页面请自行摸索)

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第4张

面对一片空白的页面,还犹豫什么,赶快点击中间绿色的Add proxy Host 吧。

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第5张

请不要着急,这只是先让你知道 反代服务在哪里,要想实现HTTPS化,首先需要添加证书。

首先选择标签栏的SSL Certificates   。这里是申请和添加证书的地方:

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第6张

申请是通过   Let's Encrypt Certificate(目前还不支持dns验证),通过它申请ssl证书你需要80/443端口。如果你没有的话,还是老老实实通过其他方式申请证书。(具体如何操作,自行百度)

选择右上角的Add SSL Certificate  下来选项 选择Customunraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第7张

弹框中,给你的证书随便起个名字(起区分作用),其中key 是私钥(必须),certificate 是域名证书本身(必须),Intermediate Certificate是中间证书(非必须)。 选择好了 之后,点击save。

添加好证书后,我们回到Proxy hosts页面,开始添加反向代理服务。如何设置如下图:

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第8张

 

其中:domain names 是指你反代后,外网访问的域名。(这里请不要填写端口或者http之类的)

scheme 是指你的内网指向目标的协议是http/https,请根据情况正确选择。(这里是指内网或者你要反代到达的其他目标)

forward hostname/ip是你指向的目标(内网Ip或者域名等)

forward port 是指你指向目标的端口

下方的三个按钮,目前我知道的也不多,请自行了解。

access list 是你可以设置用户名和密码,来控制谁可以访问你的反向代理的网站。(非常方便的提供给没有用户控制的页面的程序,例如rt。可以节约非常多的功夫,具体的添加等下再讲)

选择窗口ssl标签,选择你添加的对应的证书。然后把下方的force ssl (使用https的意思)点亮,http/2 support 大概的页面压缩技术的支持,hsts 大概是增强安全性的。(自己多尝试吧,我也不是很清楚)。

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第9张

然后点击save,一个反向代理就这样设置好了。

随后你就可以通过访问https://“你的设定的域名”:18443   (假定你设置的端口转发是18443转发到反向代理服务程序的18443端口上,当然你也可以设置成其他端口)。

反向代理的简单教学在这里就完成了。

补充:access list的设置见下图:

unraid应用介绍:NginxProxyManager-------一个非常优秀的免费反向代理服务器。 unRAID-Docker 第10张

补充说明,name只是你自己看的起区分作用的。下面的用户名和密码随意设置。

设置好之后,你就可以在反向代理的下拉列表里面看到他们的身影,选择你需要的 就OK。因为非常简单,所以就话不多说。

参与评论

  • zgp0126用户
    我布置后一些应用可以。但像unraid和nextcloud打不开,用路由端口映射都可以,用反代理就打不开提示token error or request failed,在unraid装不装证书都不行。
    9月前 (02-15)
    5楼
    回复
  • xwf1**@126.com用户
    你可以理解为这个容器是一个nginx的通用模板,适用于大多数服务,但是总有一些特殊的会出现问题。
    9月前 (02-19)
    回复
  • HK$用户
    可惜不支持dns验证,不好弄SSL了
    9月前 (02-09)
    4楼
    回复
  • 98474**@qq.com用户
    这是个好东西
    1年前 (2019-05-14)
    3楼
    回复
  • xwf1**@126.com用户
    可以来加群询问,这个还需要有泛域名解析和泛域名证书配合的。
    2年前 (2019-03-12)
    2楼
    回复
  • xianweitudou用户
    没成功,看来是我太蠢了。
    2年前 (2019-03-12)
    1楼
    回复