403 Запрещенная ошибка вне локальной сети через DDNS, но другие службы (например, Plex, S SH, SSL) работают нормально - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть сервер Raspbian, на котором запущены различные службы, настроенные по моему домашнему адресу с использованием службы DNS Dynami c. Я также арендую общедоступный веб-сервер «традиционным» способом и настроил записи A, чтобы указать поддомен с моего совместно используемого сервера на DNS-сервер Dynami c и, следовательно, на мой Raspberry Pi дома.

Я настроил переадресацию портов для различных служб, и все они, кажется, работают нормально, за исключением Apache. DDNS выглядит нормально, потому что я могу получить доступ к S SH через sub.domain.com:22, Plex через sub.domain.com:32400 et c. Если я пытаюсь получить доступ к сайту через локальный IP-адрес или name.local, он загружает экран успешного завершения установки Apache, как и ожидалось, так что Apache также, кажется, работает нормально. Он даже отлично работает с SSL.

Тем не менее, я просто не могу заставить его загружаться через sub.domain.com [: 80] - он возвращает 403 Forbidden ошибка с указанием You don't have permission to access / on this server. Это меня особенно озадачило, потому что он отлично работает при доступе к нему по локальному IP-адресу, пока в сети.

Raspbian основан на Debian, поэтому он хранит Apache конфиги в каскаде файлов в / etc / apache2 / apache2.conf, а затем ряд директив в различных файлах. Биты, которые кажутся релевантными (с обфусцированными доменами):

# file: apache2.conf
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

[...]

<Directory /var/www>
        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
</Directory>
# file: /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html

     ServerName subdomain.domain.com
</VirtualHost>
# file: /etc/apache2/sites-enabled/subdomain.domain.com.conf
<VirtualHost *:80>
    ServerName subdomain.domain.com
    DocumentRoot /var/www/html
</VirtualHost>

Я пробовал много, много комбинаций, но, кажется, ничего не работает за пределами локальной сети, даже если это работает хорошо внутри. Любая помощь будет очень признателен, спасибо

...