APP下载 微博 微信

Hao4K影音


[经验心得] 极空间NginxProxyManager部署及应用教程

[复制链接]

发表于 2023年02月07日 08:03 30715 1 来源:媒体存储> 经验心得 |只看大图 回帖奖励 |正序浏览 |

小落叶 帖主

2023-2-7 08:03

本教程是基于已完成域名申请,学会DDNS映射的小伙伴,如果还没到这步,请参考:极空间通过docker实现阿里云ddns外网域名访问

关于域名申请、IPv6访问,@清净思 大佬这篇写得最具体了,大家可以先学习下:外网访问极空间和容器:使用DDNS-GO和IPv6

前言:

docker有了,域名有了,小伙伴们都用得很开心了。但慢慢使用中,是不是就会发现这么几个问题:
1.浏览器上醒目的“不安全”字样,怎么才能算“安全”?
135719muo7371samthfi1z.png
2.docker越多,使用的端口越多,记不清楚怎么办?
3.别人的服务都有清晰直观的二级域名,这个是怎么来的?
4.Nginx做反向代理那么多的代码完全看不懂,等等
这个时候,就要讲得本次的主角,Nginx Proxy Manager(后面简称NPM),真正的所见即所得、可视化管理,让你的困扰一扫而空。

部署:

本次我们用到的docker是chishin/nginx-proxy-manager-zh,目前最新的版本是刚更新的2.9.19(镜像较大,可能用时较长,请耐心等待。下载不了的小伙伴可以私信我,回头闪电传发你)
142237mz17bpn13czcpcjk.png

下载完成双击进入部署,以下是我自己的文件目录结构和参考配置,和Alist一样,主要修改文件夹路径和端口映射。需要注意,80和443一般都是禁用的,所以需要映射到别的端口。(这里我们举例分别用了8081和8443,以后就记住这两个端口就可以了)
143536q5la2bawelsaw9wb.png

143536z2jo2doexydx5bd5.png 入门教学)
143536a62szo6xsmiyr12o.png

使用内网IP:81访问管理页面,使用默认登录邮箱和密码登录(如图),登录后设置自己的邮箱及密码。这步就不演示了。
(默认邮箱:admin@example.com   默认密码: changeme)
144329rc0gp1vgdd0cyeeg.png

管理页面中最基础的功能,或者本文主要涉及的两个功能,一个是仪表盘中代理服务(因为我是升级部署过来的,前面已经做了9个代理),一个是SSL证书(可以看到我也是11月4日才刚刚弄好,就迫不及待和大家分享经验了,希望各路大神勿喷
145743i7757bb1b0bn55ge.png 145753o0513i83h99zxzxi.png

应用:

前面也说了,我们使用NPM做反向代理主要解决2个痛点,一个是通过二级域名区分端口服务,一个是https加密,我们依次来讲。

在设置二级域名之前,还需要提前完成一项工作,就是确认下你的ddns是否更新到了二级域名,简单的做法是使用通配符“*”。如以aliyun-ddns这个docker为例,把“环境”设置中的“Domain”项从“example.com”更换为“*.example.com”就可以了。(example.com换成你自己的域名即可)
(如果还需要使用根域名,就用英文逗号隔开,“*.example.com,example.com”)
161439pmxpr2b85w548bfz.png
完成这步操作后再登录阿里云的控制台,可以看到域名的解析设置里面记录就变成了这样2条,这个时候二级域名就已经生效了。
(当然更精确的做法是给每个二级域名单独添加一条记录,各位可以根据需要选择不同的方法)
161609qr5xb669ehz9kre5.png

回到NPM,慊鞔矸瘢慊饔疑辖堑摹疤砑哟矸瘛保诘龅亩曰翱蛑幸来温既耄慊鞅4婕纯伞�
162852z8afw6scmmc8aimo.png
162852pkgvvrztvb7vrlzt.png

回到代理服务主页面,可以看到记录已经增加了一条,这里我们以Alist为例(具体名字大家按习惯随便输入,总的原则就是顺手好记)
163427q6h6t1sqi5lhzt16.png

再访问你的Alist的时候,就不用域名:5244了,这个时候可以用刚刚设置好的域名:8081访问了。
163824c2g722k6fn2xtsgj.png

到这锔崭胀瓿梢话耄梢钥吹阶笊辖堑牟话踩曜⒒乖冢颐且廊皇褂玫膆ttp访问。继续往下走,就是SSL和https的环节了。
选择“SSL证书”页面,点击右上角的“添加SSL证书”,可以看到有两种方式可以选择,我们仍然以阿里云的域名为例,分别看看
第一种方式适用于从零开始的:
191006bgf21hlcsgbfrgs0.png
191006gqsbjsope5us9eaa.png
191006iit4a33cyc8igcqj.png
可以自动申请、添加及更新,我目前用的就是这种方式,推荐使用的方式。
第二种方式适用于已有证书的,需要先下载Nginx对应的证书,再依次上传证书密钥以及证书,如图:
191446mqsu377su737zuq1.png
两种方式都可以,按你自己实际情况来,最后效果如图
191926r6qm5rsq6lug15s2.png

最后一步,再次回到代理服务页面,选择刚刚配置好的条目,点击编辑
首先是第一个“详细内容”页面,注意这个位置不需要改成https(我刚开始就被这个逻辑绕进去了)
193224h5afvaa19fdp0e02.png
其次是第三个“SSL”页面,选择对应的证书,因为我这两个证书都是通配符证书,所以选哪个都可以
193552mxm4krpspz7mm8zm.png
193552jybp2gg26dtbgr7y.png
保存后回到代理页面,可以看到已经完成了,状态显示在线。
193644ttqr3ku2ui38aar8.png

这个时候,用你这个二级域名:8443,就可以看到安全可靠的小锁了。
193853d3iznlnlnliknnp3.png

依次类推,分别加上你熟悉的二级域名,再配合浏览器插件,一套完整且加密的docker服务就可以构建起来了。
195020de15iptap3uz99u6.png
195024bf7tg19j4jexfjef.png



常见问题清单
1.qBittorrent在使用反向代理后页面显示异常、登录报错问题
2.SSL证书相关问题(完成,感谢大佬 @万亿隆基 的友情相助)
3.vim工具安装问题(问题2延深学习,感谢 @wbwboo 同学的探索研究)
4.利用NPM实现外网访问家庭路由器问题(感谢大佬 @疼丿你就喊 友情指导以及 @kuma @Pulse  的共同探索)
5.利用NPM实现极空间的https访问。(感谢大佬 @z112185040 的友情指导)
6.NPM与Bitwarden密码管理工具的配合使用。
7.利用反向代理访问heimdall显示不正常问题。
8.利用反向代理访问部分docker无法正常登录问题(gotify为例)。


1.qBittorrent在使用反向代理后可能会出现页面显示异常(登录框不居中/图标不显示),登录后报错的问题

195847hr80gy4bynnft0px.png

这时需要通过内网登陆,在qb菜单栏工具-选项里面,关闭图中框选的两个选项,就可以使用二级域名正常访问了

200220vn91yn0k9xtlmjgn.png
200321pc59ca8998u6csac.png

2.SSL证书相关问题(有些问题是我自己琢磨的,如果错了请大家及时指正)

方案一:阿里云一年可以免费申请20个证书,但是有一个限制,就是只能支持普通域名,不支持通配符域名

193309t5t55zp52jgyt69f.png
193311wdjlln77mu4o4nlm.png
普通域名证书的特点就是仅能对应一个二级域名,比如alist.example.com的证书给qb.example.com用,就会报错了。
有同学也问到了,到期以后怎么办?没错,是需要手动更新,重新上传,毕竟免费嘛。
就不能自动续期吗,当然可以,作为国内乃至全球数一数二的云平台,这种小功能还不能安排吗,不仅自动更新甚至还为我们贴心的准备了通配符域名,国际认证,专家服务。当然,省心不省钱。
194106v6mnrzm88h86m0ex.png
194112sq8gaqjwngg10wgb.png
贫穷让我清醒。

方案二:通过第三方申请证书,以来此加密 https://letsencrypt.osfipin.com/为例

194613sxzv66c5q7vq9qcp.png
可以查阅官方文档学习https://www.yuque.com/osfipin/letsencrypt
200555wesptn8jvnkpqpqt.png
简单的使用支持通配符域名,支持手动快速续期,或者自动续期(需加入VIP,200积分兑换,也可以慢慢白嫖)
200810ejsd72qbt7s7wx7b.png
201144cvvqelpnndfklddb.png
高阶的用法也可以采用全自动申请部署方案https://www.yuque.com/osfipin/letsencrypt/zagxv6
201338azkg5cdifigwwi28.png
申请好的证书下载相应的Nginx版本文件较多,一般用下图这两个就可以了
201710x5smhfah9enbxxwa.png

因为是一般是申请的通配符域名证书,所以不管alist.example.com、qb.example.com还是nastools.example.com都可以用同一个证书。
如果想测试的小伙伴,顺手用个推荐码:E69XY44D,可立刻获得5个积分,助力我加速开个vip给大家再详细测测
为了防止恶意注册占用资源,来此加密只提供3个域名服务,绑定微信可以到6个,但由于支持了通配符域名,对于个人用户是完全够用的。

方案三:利用Nginx Proxy Manager自动注册并更新

本来这也是这个帖子主要推荐的方法,其实和方案二是殊途同归的,理论上可以自动续期,我目前使用的SSL也是这个方法申请的,但是昨天写教程的时候翻车了,死活申请不了,和后面有个同学一样,就报下面的错
An unexpected error occurred:
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'

目前也还没搞清楚,暂时只能和大家一起蹲在这,等哪位大佬来解答一下了

1125更新:果然有大佬出手了,感谢大佬 @万亿隆基 的友情相助,同样出现上面报错的同学可以操练起来了。
首先要打开本docker的SSH,如图所示,需要使用/bin/bash命令,看见图2界面时就成功进入了
193134ekksyeku1baz0ssy.png
193134q6hhn3tbh65n8ddn.png
依次输入apt-get update 和 apt-get install vim 安装一下vi命令,如图,一段代码后安装完成。
193515appkvpw7ky72v7yx.png
193521qbmdj2vtdhvvfttt.png

输入执行vi /usr/local/lib/python3.7/dist-packages/certbot_dns_aliyun/dns_aliyun.py,执行(可能会显示混乱,粘贴后回车就行)
在出现的文件内容中找到下图@zope.interface.implementer(interfaces.IAuthenticator)和@zope.interface.provider(interfaces.IPluginFactory)这两行

194108wl4ekfozqubufowf.png

点击“a”,进入编辑模式,在这两行前加上#号

200253heu7l2vwnztnv2iy.png
然后点“Esc”,退出编辑模式,输入“:”,到达末行,在输入“x”,回车即完成保存。再回到NPM的SSL证书页面,就可以用第三种方案了。
200808taqjhovvgvhv91fa.png
再次感谢大佬 @万亿隆基 的友情相助,也同样感谢 @木果果 同学的研究探索。

3.vim工具安装问题

在问题2里,拓展了一个vim文本编辑工具的知识点,但是有的小伙伴在安装的时候确出了问题,出现了如下的错误
170605a8tuup0q7w8waq7f.png
通过查阅资料,发现问题处在临时目录权限问题,需要执行命令chmod 777 /tmp(注意空格)给tmp目录赋权
170937x58k9gjr0hx5gkn6.png
再执行apt-get update 和 apt-get install vim 就可以了。
有问题的小伙伴们可以试一试了。

4.利用NPM实现外网访问家庭路由器问题

论坛里面有很多小伙伴希望极空间增加一个内置的浏览器(我也希望 ),一方面是想解决下载的时候直接跳转迅雷的问题,另一方面还想解决外网的时候访问家里路由器修改设置的问题。这就来着了,NPM就可以帮你解决访问路由器的问题了。(目前调试通过的有小米AX3600、AX6000,华硕的RT-ACRH17,后面有成功的小伙伴欢迎留言啊)

以下内容是基于IPv6,小米路由器AX3600举例,rom版本是MiWiFi 稳定版 1.1.19。(公网IPv4的话应该还需要在路由器上增加一个端口转发)
在代理服务里面增加一条记录,需要注意的就是转发主机/IP这个位置写的是路由器的地址,小米路由器的默认访问端口是8080(我一开始查记录一直误认为是80,好在有大佬及时指出;其他路由器根据实际调整即可)

151534g991988f1f0ruyy6.png

下图就是在外网状态下(手机热点连接)访问小米路由器的设置画面了,大家可以测试起来了。undefined

151540sep0x6ymaa1tax5u.png

华硕路由器的设置可以参考如下:
更新最新固件没有解决(华硕RT-AX86U),依然登陆调整不到设置界面
后来看到群晖的相关案例,原来是这样的——“我们使用的是非标准80端口,访问unraid页面的时候有个自动重定向的动作,导致路径和端口丢失”
如图所示,需要修改一下;

  1. location / {
  2. proxy_pass       [color=#336699]http://192.168.50.1:80/;[/color]
  3. proxy_set_header Host $http_host;
  4. proxy_redirect  http:// https://;
  5. proxy_set_header X-Forwarded-Host $http_host;
  6. proxy_set_header X-Forwarded-Port  $server_port;
  7. proxy_set_header X-Forwarded-Proto $scheme;
  8. proxy_set_header X-Forwarded-Scheme $scheme;
  9. proxy_set_header X-Real-IP         $remote_addr;
  10. proxy_set_header X-Forwarded-For   $remote_addr;
  11. proxy_set_header Upgrade    $http_upgrade;
  12. proxy_set_header Connection $http_connection;
  13. proxy_http_version 1.1;
  14. }
复制代码

143044s5vilddsjlvs5f2s.png

5.利用NPM实现极空间的https访问。

本贴的主要目的就是抛砖引玉,果然又有大佬出手相助了,再次感谢大佬 @z112185040 的友情指导

小伙伴们都知道,极空间的访问是采用 http://我的域名:5055实现的,前面我和 @静雪 同学也一直在纠结,既然已经实现了大部分服务的https访问,但是极空间为什么不行呢?官方客服虽然提到未来会提供极空间本身的SSL支持,但总觉得是不是有别的办法。

6.NPM与Bitwarden密码管理工具的配合使用。

不少小伙伴用NGINX的初始动机,就是因为因为是密码管理工具Bitwarden,因为密码管理本身的高保密性要求,必须要基于https的访问才可以使用。
因为版本更新维护问题,这里我们选用的docker为vaultwarden/server

132848irfnwjecjfaafxji.png

Docker配置比较简单,论坛有大佬都发了教程,这里就简要发个配置图:

133650prqdepxrgvrpspwc.png
133650rgg5ggyryvygfisf.png
133650oc0c0rn3d1pi0nnc.png

回到我们的NPM,对登录管理端口做反向代理,并添加SSL证书

133851cnyqsddwyxzynyu7.png
133851k6vexxs0wdtz0bz5.png

通过https对应的端口(如8443)登录,创建账户即可使用

134312m6q0s6uy6ykk4yq0.png
134312bolm7vm3novvo5nz.png

配合浏览器插件使用更加方便。

134516qezsb75kbz7f0tpb.png


7.利用反向代理访问heimdall显示不正常问题。

Nas可用的导航工具很多,heimdall、flare、onenav还有homarr等等,各有优点和不足。但如果说知名度的话,一般就绕不开heimdall了,只要看这华丽的stars就知道了。
163020rf8880el8jzjje8r.png

关于heimdall的部署,后期我会更新在论坛。

163007bs07b0qm10smr6ab.png

设置完docker,我们再设置heimdall的反向代理参数,这个和其他的docker没有多大区别,如图:

231813x5gidnzmdgn5ddug.png

设置完成后,我们测试https端口,我这里是8443

231813zhvsdvfvzvvvi5tg.png

可以看到现在的显示是异常的,而且每个按钮也无法点开,此时需要来到你配置的 configwww 目录,找到隐藏文件 .env,用文本编辑器打开

231813sd3jszsnp3pvtdp3.png

如图所示,编辑APP_URL字段,改为https://你的二级域名:8443 (注意添加端口)

231813uiuduttdlzjnt0tt.png

再次访问你设置的域名地址及https端口,就看到熟悉的界面了

231813wnylxhnkl0jm9hs8.png

8.利用反向代理访问部分docker无法正常登录问题(gotify为例)。

当我们对部分docker使用反向代理后,可能会发现页面访问正常,但是登录却一直报错的问题。我查了下资料,可能和部分参数未能正确传递给服务器有一点关系,需要再代理的高级设置中添加一部分参数。这里就以 gotify 这个docker为例做一个探讨,其他的类似问题可以参考解决。

1.先正常的完成反代及SSL设置。如图:

180047te7omzexxztktoxg.png
180047kdx4z47dj4linxdt.png

2.但是我们访问设置好的反代页面,登录时会发现系统报错,无法正常登录。

180047c83g778vikvsz3y7.png

3.回到NPM,打开刚刚设置好的代理页面,切换至“高级”页面,粘贴如下参数,并修改第二行的参数(标红)为内网访问的地址和端口:

  1. location / {

  2.    proxy_pass http://172.17.0.1:8083/;   

  3.    proxy_set_header Host $http_host;

  4.    proxy_redirect  http:// https://;   

  5.    proxy_set_header X-Forwarded-Host  $http_host;   

  6.    proxy_set_header X-Forwarded-Port  $server_port;  

  7.    proxy_set_header X-Forwarded-Proto $scheme;

  8.    proxy_set_header X-Forwarded-Scheme $scheme;

  9.    proxy_set_header X-Real-IP         $remote_addr;

  10.    proxy_set_header X-Forwarded-For   $remote_addr;

  11.    proxy_set_header Upgrade    $http_upgrade;

  12.    proxy_set_header Connection $http_connection;

  13.    proxy_http_version 1.1;

  14. }
复制代码


180532fw2yyswksy85wsyy.png

4.再次回到gotify,重新登录,发现已经正常工作了。

180720tuzes6a61lus6434.png

5.其他docker遇到类似的问题也可以参考这个方法来试试。欢迎大家测试过后来留言回帖。

目前该方法解决登录问题的docker有:1.gotify;2.calibre-web

拓展阅读
极空间nas从选片到下电影至播放电影仅需1分钟
解决极空间alist挂载阿里、夸克等网盘内容不更新问题
极空间docker部署javtube及Jellyfin插件
极空间通过docker实现阿里云ddns外网域名访问
极空间NginxProxyManager部署及应用教程
外网访问极空间和容器:使用DDNS-GO和IPv6
极空间安装aria2-pro:支持百度网盘、阿里网盘、BT、PT等
极空间打造私人“豆瓣”:自动化观影指南
极空间docker版qbittorrent不显示中文方法
极空间Nas-Opentwr软路由-旁路由
极空间挂载阿里云、115、百度、夸克等20个网盘下载观看
回复

使用道具 举报

全部回复1

大H牛蹄 2

2023-4-8 01:53

这是合集吗?研究研究
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
中级发烧友
:
介绍未填写

主题

帖子

积分3388

图文推荐

  • 小量的影视、音频存储方案之我见

    最近,一块使用了近十年的4T移动硬盘挂了(曾被摔

  • 极空间挂载阿里云、115、百度、夸克等20个

    理论上使用如下教实现程极空间可以挂载阿里云网盘

  • 红米AC2100刷Padavan固件超全详细教程

    刷机全过程图解 准备工作这部分,网上教程几乎都

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 群辉加USB3.0千兆网卡成功,教程分享

    具体安装替换参考此贴https://www.hao4k.cn/threa

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 分享蜗牛星际A\B\C\D款机箱和功能分别有

    历经一个月研究:蜗牛星际ABCD款机箱和功能分

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 利用NAS建立DNS缓存服务器Pi-hole

    在家用环境中利用NAS建立DNS缓存服务器 1 前

  • Hao4K影音app客户端下载