惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
GbyAI
GbyAI
M
MIT News - Artificial intelligence
美团技术团队
罗磊的独立博客
雷峰网
雷峰网
量子位
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
D
Docker
小众软件
小众软件
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
WordPress大学
WordPress大学
V
V2EX
博客园_首页
腾讯CDC
The Cloudflare Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

生产力 – Ed_'s Blog

macOS 下 xlr-spaceFN 键盘映射方案实现方案 v1 – yywr's Blog [一个酷酷的软件] Readest 电子书阅读器 – yywr's Blog 重建工作任务管理 – yywr's Blog 记远程办公体验 – yywr's Blog
两个反向代理到 filerun 站点的坑 – yywr's Blog
yywr · 2023-06-24 · via 生产力 – Ed_'s Blog

虽然目前家里设备解析的域名基本只为我一个人服务,出于心理强迫因素,一直想让它更安全一些,我想到的方法有两个,一个是做个跳板机,反代到现有的设备,再一个是用Cloudfare套一层,同时实现IPv4/6双栈访问。

Cloudfare 的DDNS其实早就做了,只是没开代理,因为不充值的情况下,代理方式只能使用限定的几个端口1,IPv6虽然可以直接使用80和443,但为避免不必要的麻烦,一直用的是自定义端口,而且每个应用使用了不同的端口。在有限的端口限制下,如果不想解析太多的二级域名,只能用二级目录反向代理的方式来访问不同的应用。

Filerun 是我比较常用的一个应用,在外面取用一些文件的时候很方便,所以搞的时候第一个弄的它,但是一直出502,一直以为我抄错了配置代码。后来无意间先试了试其它应用,发现都是好的。然后开启了 Filerun 反代的踩坑之旅。

主要两个坑,一个是前面说的报502,还有一个是无法正常加载,页面只显示“正在加载…”

环境:Ubutnu 24.04 TLS / nginx 1.22.0 / Filerun 20220519 (手动安装版)

报502

反向代理至fileurn 报502的坑挻奇怪的,不知道是不是和版本有关。正常反代到本机,用的都是 127.0.0.1 或者是 localhost 这样的地址,但在我没记录次数的尝试后,发现它使用现有在使用的域名才不会报502。

使用正在使用的域名的话,得从外面绕一圈,所以给filerun 站点新增了一个域名 fielrun.yywr.net ,在 /etc/hosts 文件中把它指向了一个192.168.1.0/24 的ip,发现502又来了…

经过多次测试,发现把这个域指向了本地的IPv6地址 ::1 (IPV6 环回地址  0:0:0:0:0:0:0:1 的压缩形式) ,它不报了。。。
以我有限的知识来判断,这应该是filerun本身的问题,但我想不起来程序配置中有绑定域名的选项

页面只显示“正在加载…”

不再502后,并没有正常运行,走反代地址一直显示“正在加载…”,然后不动了。按F12看网络连接,发现它在尝试以一种奇葩的组合链接在连接:“反代站的域名:原始站的端口”

我又开始怀疑我抄配置的能力,总感觉有哪个配置项不对。这个时候 NextCloud 和 Filerun 之间的区别就出来了。Filerun 基本没多少人分享填坑的资料…

查看了一下官方对于反代的配置,没有特别项,虽然那配置是针对的docker

后来习惯性的打开了搜索引擎的多个结果,在某个页面中看到了和我一样的问题,讨论贴的最后一个答复中(Thank you for jameschannel)给出了一段配置

在 customizables文件夹中,新建 config.php文件,填入:

<?php
umask(000);
$config['url']['root'] = 'https://你的域名:端口号/';
php?>

这哥们牛B,因为这答复基本算独一份,虽然依然觉用某个反代配置选项可以解决这个问题

这个解决方法存在在一个问题,我在家里想要用另一个域名来实现局域网访问时就行不通了,在输入二次验证码的界面时报 “Communication with the server failed. Please try again later.”,这让我只能改hosts, 保证只用一个域名来访问

参考

  1. Cloudfare 端口限制:https://developers.cloudflare.com/fundamentals/get-started/reference/network-ports/
  2. Filerun 反代官方配置: https://docs.filerun.com/docker-ssl
  3. Filerun “正在加载…” 解决方法:https://forums.unraid.net/topic/126039-%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8swag%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86filerun%E4%B8%8D%E8%83%BD%E6%AD%A3%E5%B8%B8%E8%AE%BF%E9%97%AE%E7%9A%84%E9%97%AE%E9%A2%98/