我无法通过反向代理在同一台服务器上配置2个子域。
情况:使用Raspbian Stretch和Apache 2.4的3台服务器:
somedomain.com
并为otherdomain.com
,sub1.otherdomain.com
和sub2.otherdomain.com
otherdomain.com
sub1.otherdomain.com
和sub2.otherdomain.com
somedomain.com
,otherdomain.com
和sub1.otherdomain.com
工作正常,但我遇到sub2.otherdomain.com
时遇到问题:它会导致somedomain.com
。
这就是我在服务器#1上的etc/apache2/sites-available/000-default.conf
中配置反向代理的方式:
<VirtualHost *:80>
ProxyPreserveHost On
ServerName sub1.otherdomain.com
ProxyPass / http://192.168.1.111/
ProxyPassReverse / http://192.168.1.111/
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ServerName sub2.otherdomain.com
ProxyPass / http://192.168.1.111/
ProxyPassReverse / http://192.168.1.111/
</VirtualHost>
这就是我在服务器#3上配置etc/apache2/sites-available/000-default.conf
的方式:
<VirtualHost *:80>
ServerName sub1.otherdomain.com
DocumentRoot /home/username/website1/public_html
RemoteIPHeader X-Forwarded-For
<Directory /home/username/website1/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName sub2.otherdomain.com
DocumentRoot /home/username/website2/public_html
RemoteIPHeader X-Forwarded-For
<Directory /home/username/website2/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
答案 0 :(得分:0)
我明白了:它是Google Chrome的缓存。当我还在玩Apache配置文件时,它以某种方式缓存了重定向。
它在Google Chrome的“正常模式”下无效,但在隐身模式和其他浏览器/设备上运行良好。
我在superuser.com和clearing this cache上发现了一个关于this answer was helpful的问题,用于在不清除整个缓存的情况下清除Google Chrome中缓存的重定向。
撰写本文时:
在Mac上打开开发人员工具面板(选项 命令 i ,或在Windows上按ctrl shift i
点击并按住重新加载图标
菜单将会打开
从此菜单中选择第3个选项(“清空缓存和硬重新加载”)