NAS必备神器:部署中文版反向代理工具『Nginx Proxy Manager』并申请 SSL 证书
关于反向代理,我在之前的【NginxWebUI】文章中已经讲过。反向代理其实就是为了外网访问家里的NAS以及部署的服务更安全,并且在一定的时候,我们无需记下NAS中那么多的端口号,就能轻松实现安全的外网访问。
而说到NAS中反向代理工具,另外一款【Nginx Proxy Manager】可以说是当仁不让的神器之一。我之前也多次在文中推荐并提到过它,在加上前几天一位粉丝朋友找到我希望出篇该工具的教程抄作业,So,我就被迫水一篇吧~~
PS:今天的教程是建立在有公网IP的基础上,没有公网IP也是可以,不过需要修改下内网穿透设置。具体操作我因为没有使用内网穿透相关服务,所以也就没法展示了。
关于Nginx Proxy Manager
Nginx Proxy Manager是我目前体验过最简单最方便的反向代理工具,主要是因为它自带可视化的操作面板,无需代码就能轻松搞定反向代理的操作。
这句话听起来是不是很耳熟?对,它就像我之前给刚玩Docker的小伙伴推荐Portainer是一样的。对于我们没有任何运维经验的小白来说,可视化面板工具仅需我们动动鼠标,填几个数据就能实现一些我们需要完全看不懂的复杂命令一样的效果,并且几乎不需要我们相关的专业知识。
不过和Portainer一样,Nginx Proxy Manager其实也是不支持中文的,作为学渣的我看着英文实在头疼。不过不出意外,像Nginx Proxy Manager这样的神器肯定会有国内大佬汉化。所以,今天教程中,安装的便是国内大佬汉化版的Nginx Proxy Manager。
废话不多说,直接开整!
Nginx Proxy Manager部署
Nginx Proxy Manager部署起来还是非常简单的!
🔺打开NAS的文件管理器,在 docker 文件夹中(威联通默认为Container文件夹),创建一个新文件夹【NPM】,然后在 wikijs文件夹中再分别新建两个子文件夹【data】 和【letsencrypt】,其中data文件夹用于存放数据文件,letsencrypt文件夹用于存放SSL证书相关文件。
🔺接着打开SSH工具进入管理员模式,输入Docker run命令:
docker run -d --name npm -p 80:80 -p 81:81 -p 443:443 -v ./data:/data -v ./letsencrypt:/etc/letsencrypt chishin/nginx-proxy-manager-zh:latest
以上命令需要改动的为:
-p 80:80:这个是映射容器的http协议端口,冒号前面自己改成本地没被占用的任何端口,除非你反代的域名备案过或者部署在VPS上面这里可以不改。我这里就映射成180端口吧;
-p 81:81:这个是映射容器web界面端口,如果本地没被占用默认即可,可以不改;
-p 443:443:这个是映射容器的https协议端口,冒号前面需要改,理由同80端口,为了方便我也映射为1443端口吧;
-v ./data:/data:冒号前面映射我们前面新建“data”文件夹的本地实际路径;
-v ./letsencrypt:/etc/letsencrypt:冒号前面映射我们前面新建“letsencrypt”文件夹的本地实际路径。
🔺如果没有问题在NAS的Docker容器列表中就能看到nmp容器已经正在运行了,说明部署成功。
Nginx Proxy Manager体验及教程
直接在浏览器中输入 【http:// NAS的局域网IP:端口号】 就能看到登录界面了,请注意,这里的端口号是81映射的端口号,前面说过的~
🔺默认的初始账号和密码分别为:admin@example.com/changeme。
🔺登录进去后为了安全,容器会提示我们重设账号和密码,自己跟着向导直接设置即可,密码需要设置复杂密码,即数字字母组合形式的密码。设置好以后下次登录nmp容器就需要使用我们自己重新设置的这个账号密码了。
👉设置反向代理
🔺点击主界面的“代理服务”。
🔺添加代理服务。
🔺然后在这里:
域名:域名就是我们反代使用的域名,需要说明的是,这个域名首先在运营商那里做好DNS解析(比喻腾讯云或者阿里云,解析包括普通解析与泛解析),然后把域名在我们的NAS上做好DDNS解析(使用另一款容器ddns-go)。
协议:默认
http
即可。转发主机/IP:这个直接填入NAS的局域网IP即可。
转发端口:NAS服务端的内网端口,可以是NAS自己的内网访问端口,也可以是某个Docker容器的端口,看你自己的需求了。
至于下面的三个选项(缓存资源、阻止常见漏洞、支持WebSockets)是啥我也不知道,不关那么多,直接勾上即可。
🔺比如说我这里很快就创建了一个远程访问家里NAS的反向代理。
🔺但是我们这个时候并不能通过反向代理的域名访问NAS,我们还需要在路由器上将我们前面映射的http协议端口,也就是映射80端口的本地端口号做一个端口转发。我这里是180,前面提过的~
🔺反正我们稍后会申请SSL证书进行https访问,所以我们顺便在路由器这里也将对应的443端口也做个转发吧~
🔺我们现在就可以随意使用自己设置好的【反向代理域名+端口号】(这个端口号是映射80端口的本地端口号哦~)来远程访问家里的NAS了。不过前面显示了一个“不安全”的标识,那是因为我们并没有为我们的反代域名申请SSL证书。
OK,接下来的事就是搞定证书吧!
👉申请SSL证书
关于申请SSL证书我这里说明一下:我看很多教程都是通过申请npm
中 Let’s Encrypt
证书实现自动无限期续签。但是貌似我今天教程中的npm
版本有问题,在部署的时候总是出错。所以我采取了直接手动上传运营商下发的证书,个人觉得更简单。唯一的不便就是有效期仅为一年。但是部署一次证书也就三分钟不到的时间,我想应该没有那位“大忙人”在一年中挤不出三分钟的时间吧~~哈哈。
🔺既然是手动上传证书,那么我们先要在自己域名的运营商那里下载证书了。这里以我自己使用的腾讯云(DNSPod)为例,打开:https://www.dnspod.cn/login?s_url=https%3A%2F%2Fconsole.dnspod.cn%2Fdns%2Flist ,然后点击自己使用的反代域名后面的“SSL”(记得一定是自己反代使用的那个域名,多域名玩家别选错了~)。
🔺然后在页面的下方有一个“下载证书” 的选项,点击打开。
🔺这里会让我们选择服务器类型,我们选择“Nginx”,点击后面的下载。
🔺下载之后是一个压缩包,解压之后就是上图四个文件,而我们稍后需要用到的其实是“.key”和“.crt”这两个文件。
🔺回到npm
容器内,选择“SSL证书--添加SSL证书--上传证书”。
🔺在上传证书页面:
名称:随意
证书秘钥:选择前面解压得到的“.key”文件
证书:选择前面解压得到的“.crt”文件
中间证书不用管,然后点击“保存”。
🔺SSL证书列表会看到我们刚上传的证书。
🔺回到“代理服务”那里,点击后面的“三点”,选择“编辑”。
🔺编辑页面点击“SSL”,然后在SSL证书方框选择我们刚上传的证书。
🔺下面的四个选项咱也不懂,直接全部打开吧!
🔺完成之可以看到代理服务列表SSL证书下面会有“上传证书”的字样。
🔺再次使用我们的反代链接连接我们的NAS,可以看到它就是以https的安全协议打开的,并且前面还加上了安全小锁的标识。需要说明的是:你需要在路由器上做好对应443端口转发(我前面已经做好了),并且我们在输入链接的时候后面的端口号也是映射443的端口号。
🔺那么NAS上其它的服务怎么使用同一域名反代出去呢?很简单!我们之需要在域名前面随意加上一个前缀(前缀别重复就行),越简单越好,并且将端口改成这个服务的端口即可。比如说上图我就将Nginx Proxy Manager自己给反代出去了~,这样我们就实现了同一个“域名+端口号”,实现外网访问家里NAS所有服务的目的。
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货,咱们下期再见!谢谢大家~
天外来鸿
三连支持
校验提示文案
roryp
校验提示文案
YBLoveCX
校验提示文案
值友3013835331
校验提示文案
艾恩罪
校验提示文案
Tonyblack
校验提示文案
灵KOYB
校验提示文案
shabanyu
校验提示文案
光5566
校验提示文案
值友4115503628
校验提示文案
_____空白
1、进入容器 npm 替换为容器名
docker -it npm-zh bash
2、安装软件zope
python3 -m pip install --upgrade pip
pip install certbot-dns-dnspod
pip install zope
3、退出容器
exit
校验提示文案
值友4428142711
校验提示文案
zhouwei_54
校验提示文案
黑查理
校验提示文案
搞机之道
校验提示文案
fengpan584
校验提示文案
dusttop1
校验提示文案
wufan2kk
校验提示文案
bakerd
校验提示文案
疯爆银熊
校验提示文案
roryp
校验提示文案
zhouwei_54
校验提示文案
dongzhiks
校验提示文案
值友4428142711
校验提示文案
莫名悲痛莫名
校验提示文案
太子长琴
只能监听一个端口
证书申请网络错误
校验提示文案
值友1274162228
校验提示文案
Supervisitor
校验提示文案
五十包郵解君愁
校验提示文案
汉口平民林峰
校验提示文案
solo小猪婷
校验提示文案
风风风风风起
校验提示文案
大胃王DAVID
校验提示文案
dark77
校验提示文案
开心的娜娜
校验提示文案
伍贰柒
校验提示文案
溺水得鱼
校验提示文案
搞机之道
校验提示文案
whisper0429
校验提示文案
我的世界没光
校验提示文案