![Apache - 使用虚拟主机的代理](https://linux22.com/image/844349/Apache%20-%20%E4%BD%BF%E7%94%A8%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E7%9A%84%E4%BB%A3%E7%90%86.png)
我已经尝试了几天来让它运行,但没有成功。我需要使用 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>