子域名重定向(代理)不起作用(已尝试使用 Apache2 和 Nginx)

子域名重定向(代理)不起作用(已尝试使用 Apache2 和 Nginx)

我正在使用带有 apache2 的 raspberry pi 来管理我的网站。我有多个在不同端口上运行的 docker 镜像。我想重定向(不更改 url) 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_http和模块。并且我的配置已在(来自的符号链接)rewrite中正确启用。/etc/apache2/sites-enabled/000-default.confsites-available

我的系统:

  • Ubuntu 22.04 上的 Raspberry Pi 4 8​​Gb

另外,我正在使用托管在我的 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 进行访问。

相关内容