Synology 与外界联系,同时还托管网络服务器

Synology 与外界联系,同时还托管网络服务器

这可能是一个简单的问题,所以请原谅我......

我运行一个 Synogy NAS,可通过端口 5000 进行外部访问。我还在另一台 PC 上运行一个 Web 服务器,该服务器位于端口 80 上。我设置了一个Moodle我希望外界可以看到 Synology 上的服务器。

目前,我只能通过 NAS/Moodle 在内部进行操作。远程时,我通过 dyndns 访问所有这些。有没有办法远程访问 Moodle?我想不出办法……

谢谢你!

答案1

答案是“端口转发”。您的本地网络可能位于 NAT 设备后面,即您的路由器/防火墙。该设备是唯一接受来自互联网的传入数据包的设备。由于您的本地设备不可公开路由,因此除非您告诉路由器,否则路由器不知道将传入数据包发送到哪个本地设备。

登录到您的边界设备(路由器\防火墙)并查找端口转发规则。您需要将 moodle 端口转发到 NAS 以便远程连接到它。Moodle 使用端口 80。您提到您已经在运行 Web 服务器。如果该 Web 服务已经在使用端口 80,那么您需要更改 Web 服务器或 moodle 服务器的端口。

您可以在端口 8080 上运行一个。

或者

您可以设置代理,例如 NGNIX,来处理传入流量。其方式如下:端口 80 将被转发到 NGNIX 服务器。然后,您可以将主网站放在 yourhostname.com 上,将 moodle 网站放在子域(例如 moodle.yourhostname.com)上。然后,NGNIX 可以根据主机名将流量转发到不同的后端 Web 服务器。

综上所述,看起来你应该只使用如下托管解决方案: https://new.moodle.net/

答案2

如果 Moodle 在另一个端口(80 除外)上运行,那么您应该能够配置您的路由器以类似于端口 5000 上的 NAS 的方式访问它(即通过端口转发)。

但是,如果 Moodle 在 NAS 的 80 端口上运行(或者您不希望在另一个端口上使用 Moodle 时看到端口号),则需要设置反向代理在您的网络上。简而言之,反向代理会监听传入的 HTTP 请求,并帮助将这些请求定向到正确的服务器。它还协助将响应转发回原始客户端。

创建反向代理通常只需在网络上配置一个服务器来处理此功能。虽然可以通过 NAS 执行此操作,您可能只使用 Web 服务器就能对 PC 进行更多控制。在这种情况下,您的通信链可能如下:

<Internet> <---> <Router> <---> <Web Server [Reverse Proxy]> <---> <NAS>

请注意,虽然您<Web Server>在上图中是反向代理,但它仍然可以分发在该服务器上配置的网站。

设置反向代理的实际步骤将因所用设备或软件而异。例如,Apache 使用某些模块和“虚拟主机”,而 Nginx 使用(虚拟)“服务器块”,并且您的 NAS 可能有自己的配置方式。

无论如何,一般来说,您需要第二个域名(动态或其他)来访问 Moodle。这通常是区分在同一 IP:端口组合上运行的网站的最简单(或唯一)方法。这可能是子域(即)http://subdomain.example.com

相关内容