Перенаправление поддоменов (прокси) не работает (пробовано с Apache2 и Nginx)

Перенаправление поддоменов (прокси) не работает (пробовано с Apache2 и Nginx)

Я использую Raspberry Pi с Apache2 для управления своими веб-сайтами. У меня есть несколько образов Docker, работающих на разных портах. Я хочу перенаправить (без изменения URL) scanner.raspberry.localна localhost:1234. Чтобы сделать это, я следовал этим двум постам:

В итоге у меня работает только один виртуальный хост (первый). Вот мой конфиг:

# Home page : working properly
<VirtualHost *:80>
        ServerName          raspberry.local

        ProxyPreserveHost   On
        ProxyRequests       Off

        ProxyPass           / http://localhost:8080/
        ProxyPassReverse    / http://localhost:8080/

        ErrorLog ${APACHE_LOG_DIR}/error-homer.log
        CustomLog ${APACHE_LOG_DIR}/access-homer.log combined
</VirtualHost>

# Scanner : not working : "could not resolve host" when I cURL
<VirtualHost *:80>
        ServerName          scan.raspberry.local

        ProxyPreserveHost   On
        ProxyRequests       Off

        ProxyPass           / http://localhost:1234/
        ProxyPassReverse    / http://localhost:1234/

        ErrorLog ${APACHE_LOG_DIR}/error-scan.log
        CustomLog ${APACHE_LOG_DIR}/access-scan.log combined
</VirtualHost>

Я пробовал установить nginx, но в итоге получаю то же самое, первый виртуальный хост работает, но второй (поддомен) не может быть разрешен через cURL, даже напрямую на сервере. Я следовалэтотпост, чтобы помочь мне. Я закончил так:

server {
    listen 80;
    server_name raspberry.local;

    location / {
        proxy_pass http://localhost:8080;
    }   
}

server {
    listen 80;
    server_name scan.raspberry.local;

    location / {
        proxy_pass http://localhost:1234;
    }   
}

У меня нет ошибок ни в одном файле журнала, когда я использую apache2ctl -Sего, он находит мои виртуальные хосты без проблем, то же самое, когда я делаю apache2ctl configtest. Я включил модули proxy, proxy_httpи rewrite. И моя конфигурация правильно включена в /etc/apache2/sites-enabled/000-default.conf(символическая ссылка из sites-available).

Моя система:

  • Raspberry Pi 4 8Gb на Ubuntu 22.04

Кроме того, я использую VPN, размещенный на моем Pi, и добавил соответствующую конфигурацию в свой /etc/hostи c:\Windows\System32\Drivers\etc\hosts(WSL/Windows).

Я знаю, что есть куча постов о конфигурации apache2. Но я не могу найти ни одного с такой же проблемой.

решение1

Сканер: не работает: «не удалось разрешить хост» при использовании cURL

Это означает, что curlне удается разрешить IP-адрес для доменного имени. Это означает, что запись DNS для целевого домена не настроена.

Конфигурация DNS не связана с конфигурацией Apache2 или nginx.

решение2

Чтобы решить эту проблему, я установилdnsmasq,настроил его, идобавил DNS-сервер в/etc/resolve.conf.

Теперь я могу использовать cURL, x.subdomain.localесли добавлю на каждую машину свой DNS-сервер.

Связанный контент