Это, вероятно, простой вопрос, так что простите меня...
Я использую Synogy NAS, доступ к которому осуществляется извне через порт 5000. Я также использую веб-сервер на другом ПК, подключенном к порту 80. Я настроилМудлсервер на Synology, который я хотел бы сделать видимым для внешнего мира.
Сейчас я могу сделать это только внутренне через NAS/Moodle. Я получаю доступ ко всему этому через dyndns, когда удаленно. Есть ли способ получить удаленный доступ к Moodle? Я не могу придумать способ...
Спасибо!
решение1
Ответ называется «Переадресация портов». Ваша локальная сеть, скорее всего, находится за устройством NAT, которым будет ваш маршрутизатор\брандмауэр. Это устройство — единственное, которое принимает входящие пакеты из Интернета. Поскольку ваши локальные устройства не маршрутизируются публично, маршрутизатор не будет знать, на какое локальное устройство отправлять входящие пакеты, если вы ему об этом не сообщите.
Войдите в свое пограничное устройство (маршрутизатор\брандмауэр) и найдите правила переадресации портов. Вам нужно будет перенаправить порты moodle на NAS, чтобы подключиться к нему удаленно. Moodle использует порт 80. Вы упомянули, что у вас уже запущен веб-сервер. Если эта веб-служба уже использует порт 80, то вам нужно изменить порт либо для веб-сервера, либо для сервера moodle.
Вы можете запустить его на порту 8080.
ИЛИ
Вы можете настроить прокси, например NGNIX, который будет обрабатывать входящий трафик. Вот как это выглядит: порт 80 будет перенаправлен на сервер NGNIX. Затем вы можете разместить свой основной веб-сайт на yourhostname.com, а сайт moodle — на поддомене, например moodle.yourhostname.com. Затем NGNIX может перенаправлять трафик на основе имени хоста на различные внутренние веб-серверы.
Учитывая все вышесказанное, похоже, вам просто следует использовать размещенное решение, например: https://new.moodle.net/
решение2
Если Moodle работает на другом порту (кроме 80), то вы сможете настроить маршрутизатор для доступа к нему аналогично вашему NAS на порту 5000 (т. е. через переадресацию портов).
Однако, если Moodle работает на порту 80 на NAS (или вы не хотите, чтобы номер порта был виден при использовании Moodle на другом порту), то вам необходимо настроитьобратный проксив вашей сети. Короче говоря, обратный прокси-сервер прослушивает входящие, например, HTTP-запросы и обеспечивает направление этих запросов на нужный сервер. Он также помогает в ретрансляции ответов обратно исходному клиенту.
Создание обратного прокси-сервера обычно подразумевает простую настройку сервера в вашей сети для выполнения этой функции.Хотя это можно сделать через NAS, вы, вероятно, будете иметь немного больше контроля над ПК с помощью только веб-сервера. В этом случае ваша цепочка связи, вероятно, будет:
<Internet> <---> <Router> <---> <Web Server [Reverse Proxy]> <---> <NAS>
Обратите внимание, что хотя <Web Server>
на схеме выше вы и являетесь обратным прокси-сервером, он все равно может раздавать веб-сайты, настроенные на этом сервере.
Фактические шаги по настройке обратного прокси будут различаться в зависимости от используемого устройства или программного обеспечения. Например, Apache использует определенные модули и «виртуальные хосты», в то время как Nginx использует (виртуальные) «серверные блоки», а ваш NAS может иметь свой собственный способ настройки.
Независимо от этого, как правило, вам понадобится второе доменное имя (динамическое или иное) для доступа к Moodle. Часто это самый простой (или единственный) способ отличить веб-сайты, работающие на одной и той же комбинации IP:port. Это может быть поддомен (т. е. http://subdomain.example.com
).