Apache - 使用虚拟主机的代理

Apache - 使用虚拟主机的代理

我已经尝试了几天来让它运行,但没有成功。我需要使用 apache httpd 来实现这一点:

  • 发送到子域名 blog.DOMAIN.TLD 并发送到端口 80 的请求应返回与端口 2000 上的请求相同的结果
  • 直接发送到服务器 IP(不带域名)到端口 80 的请求应该从 /var/www(普通 Web 服务器)返回数据

我最后一次尝试的是 /etc/apache2/httpd.conf 中的这段代码:

<VirtualHost *:80>
    ServerName 31.31.79.187
    DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:80>
    ServerName blog.noxx2.eu
    <Proxy *>
            Order allow,deny
            Allow from all
    </Proxy>
    ProxyPass / http://31.31.79.187:2368/
    ProxyPassReverse / http://31.31.79.187:2368/
</VirtualHost>

这对子域名来说确实有效,但对于 IP 的请求,它只返回 HTTP 403。有什么办法可以让它运行吗?谢谢

答案1

403 表示禁止访问。那里的内容是否可以被 apache 读取(其所有者应该是 www-data)?

sudo chown -Rf www-data:www-data /var/www

答案2

我认为你需要补充

<VirtualHost *:80>
    ServerName 31.31.79.187
    DocumentRoot /var/www
    <Directory /var/www>
       stuff in here
    </Directory>
</VirtualHost>

相关内容