我遇到了一个奇怪的问题,我家用路由器上的端口转发对大多数应用程序都运行良好,但对于我尝试过的媒体服务器软件(Plex 和 Emby)却不起作用。由于它在多个应用程序中都失败了,我猜这是一个网络问题,尽管它对其他应用程序运行正常。
网络内部的一切都按预期运行,SSH、两个媒体服务器以及一些其他应用程序都可以通过它们配置的各个端口进行访问。
路由器上的端口转发设置起来很简单,并且对于 SSH 和一些其他带有 Web 用户界面的应用程序来说效果很好。无论是转发相同端口还是自定义端口(例如22 -> 22
、 或23 -> 22
),它都可以正常工作。无论是手动配置还是使用 UPnP,它都可以正常工作。但是,当两个特定应用程序(Plex 和 Emby)尝试通过外部端口访问它们时,就会超时。
我可以通过互联网上的端口扫描器看到端口是开放的,事实上我甚至可以看到它工作到基本 URI 转换为应用程序主页的正确完整 URL 的程度,正如我所期望的那样(例如100.2.3.4:1234在网络浏览器中http://100.2.3.4:1234/web/index.html),但页面根本无法加载。
当仅运行 Plex 时,我假设这可能是应用程序本身的问题,因此我也安装了 Emby,但它有完全相同的问题,这让我认为这更可能是某种网络配置问题。据我所知,这两个应用程序都已正确配置以接收远程连接。
在网络内,在浏览器中输入内部或外部地址都可以。
我已经设置了 DDNS,但无论是通过 DDNS 还是使用我当前的外部 IP 访问,行为都是相同的。
我的路由器是华硕 RT-AC66U,运行的是原厂固件版本 3.0.0.4.384_32799。它后面是一台运行 Ubuntu 18.04.3 LTS 的服务器,该服务器正在运行所有相关应用程序。
对于任何调试此问题的想法都将不胜感激!