「Docker」Nginx 反代探究

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

日常跑题的开场

略早之前偶然间看到了RSSerpent/RSSerpent这个项目,定位和 RSSHub 一样,使用 Python,不像 RSSHub 每份「规则/路由」都要在代码文件内引入,RSSerpent 选取了「插件/化可拆装」的引入方案;

虽然作者在国庆期间终于补了波插件开发文档,在翻过了「环境配置」这座大山后也确实写出了两条规则;(其中一条是给官方路由的 Pr)

然而明明在开发调试时可以抓取内容并输出 RSS,可是实际部署出来并不能用的样子-_-!;

毕竟是新项目,慢慢等完善吧;

其实另一方面,RSSHub 对我来说还算够用,最大的问题也并不是规则,而是实例的可用性——比如实例整个挂掉,或者某条规则在该实例上不再可用——即使自建也无法避免;

(昨天发现rss.shab.fun证书过期了,刚看了下到是很快续上了;)

虽然每天都有看,但是某条订阅好久没更新了这种情况,对人的敏感性要求太高了;

果然目前最好的方案是这个:

「折腾」GitHub Actions 反代 RSSHub + 多实例轮询_电脑网络_沉冰浮水

不过之前还是被意料之外的原因波及了:

「小事」Python 的 Docker 镜像更新了一波_杂七杂八_沉冰浮水

(果然每次都会变成碎碎念.jpg)

正文

这篇文章的起因是搞了下边东西;

wdssmq/proxy_nginx: Nginx Docker 化镜像,适合用于反代;:

https://github.com/wdssmq/proxy_nginx

↑ 虽然是个代码库,但是弄完感觉更像是水了篇使用教程,顺便带了个 Git 库;

README.md里写了不少笔记,Docker 化部署 Nginx 环境,外加如何将/etc/nginx/*各种相关的配置以映射的的方式实现自定义,还研究了怎么配置 SSL 证书;

前边已经水过的一篇:

Docker 内 php-nginx 的伪静态相关_电脑网络_沉冰浮水

然后发现把「Nginx 配置反向代理」塞进去感觉会很长;「- 虽然拆出到这里也很长.jpg -」


需求描述:

已经使用 Docker 部署了一个 RSSHub 实例,跑在默认的1200端口上,想另外部署一个单独的 Nginx 容器进行反代;

镜像基于webdevops/php-nginx:7.4,并且提取了/etc/nginx用于自定义映射;

预置文件比较多,还有很多已经废弃却没删除的,梳理过包含关系后得出总结如下:

nginx/conf.d/文件内用于放置需要全局引入的文件,或者说写在端口监听外部;

nginx/vhost.common.d/*.conf则分别在80443各自的server {}内部引入;

其实主要是想实现多个 RSSHub 实例反代的,好像设计上并不支持我预想的用法;

按路径分别写入下边配置:

#; nginx/conf.d/5-proxy.conf
upstream rss1200 {
    server getrss2021.xyz:1200;
}
#; nginx/vhost.common.d/5-proxy.conf
location /rss/ {
    proxy_set_header Host $host/rss;
    proxy_pass http://rss1200/;
}

容器相互是隔离的,需要确保*:1200是能访问到的地址,或者将容器加入同一网络内使用容器名用于寻址;

之后映射进 Docker 容器或重启已有容器即可;

所以现在用https://getrss2021.xyz/rss/就可以访问到我搭建的 RSSHub 实例;

结语:

其实就当前示例来说,也可以不使用 upstream 模块,然而把所以「可以」都写成过程果然也不太现实;


爱发电

本文标题:《「Docker」Nginx 反代探究》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20211019591.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

爱发电支持者

最新留言

友情链接