子網域重定向(代理)不起作用(已嘗試使用 Apache2 和 Nginx)

子網域重定向(代理)不起作用(已嘗試使用 Apache2 和 Nginx)

我正在使用帶有 apache2 的樹莓派來管理我的網站。我有多個 docker 映像在不同的連接埠上運行。我想重定向(不更改網址) scanner.raspberry.locallocalhost: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。我已啟用proxyproxy_httprewrite模組。我的配置已在/etc/apache2/sites-enabled/000-default.conf(來自 的符號連結)中正確啟用sites-available

我的系統:

  • Ubuntu 22.04 上的樹莓派 4 8Gb

另外,我正在使用在我的 Pi 上託管的 VPN,並且我已將正確的配置添加到我的/etc/hostc:\Windows\System32\Drivers\etc\hosts(WSL/Windows)中。

我知道有很多關於 apache2 配置的帖子。但我找不到有相同問題的人。

答案1

掃描器:不工作:當我 cURL 時“無法解析主機”

這意味著curl無法解析網域名稱的IP位址。這表示未配置目標網域的 DNS 表項。

DNS配置與Apache2或nginx配置無關。

答案2

為了解決這個問題,我安裝了網域解析,配置它, 和將 DNS 伺服器新增至/etc/resolve.conf

x.subdomain.local現在,如果我在每台電腦上新增我的 DNS 伺服器,我就可以 cURL 到。

相關內容