为什么在 mod_rewrite 中使用服务器名称时我的页面 page return 空白?
Why does my page page return blank when using a server name with mod_rewrite?
我正在使用 Apache、mod_rewrite、mod_pagespeed 和 mod_proxy。
当通过 IP (10.10.10.12:80) 访问我的页面时,它成功地将我重写为 10.10.10.12:81,然后将我代理到外部服务器 (10.10.10.13)。
当通过 DNS 名称 (www.example.com) 访问我的页面时,它 returns 一个空白页面。查看源代码显示应用了我的 pagespeed 配置,但我的 JS 没有呈现,也没有显示任何内容。
下面是我配置中的相关代码:
<VirtualHost *:80>
ProxyRequests off
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html
RewriteEngine On
RewriteLog "/home/dvanpham/rewrite.log"
RewriteLogLevel 3
#Directs escaped fragment code to an external rendering server
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*) [NC]
RewriteRule .* http://10.10.111.54:82/?page=http://10.10.111.54:81/#!%1 [NE,P,L]
#Directs all other traffic to port 81, which then sends traffic to 2 other servers
RewriteRule ^(.*)$ http://10.10.111.54:81 [NE,P]
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
<VirtualHost *:81>
ProxyRequests off
<Proxy balancer://regscluster>
# BalancerMember http://10.10.112.47:8280
BalancerMember http://10.10.112.48:8280
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://regscluster/
</VirtualHost>
<VirtualHost *:82>
ProxyRequests off
<Proxy balancer://nodecluster>
BalancerMember http://10.10.111.56:8080
BalancerMember http://10.10.111.57:8080
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://nodecluster/
</VirtualHost>
如果我能提供更多信息或者您对这个问题有任何见解,请告诉我!
编辑:看起来问题与使用域名时的 mod_pagespeed 和 mod_rewrite 有关。
问题是 mod_pagespeed 正在侦听 ProxyPass 并相应地重写 URL,但没有侦听 RewriteRule。
设置
"ModPagespeedMapOriginDomain http://localhost *.domain.com"
成功了。
我正在使用 Apache、mod_rewrite、mod_pagespeed 和 mod_proxy。
当通过 IP (10.10.10.12:80) 访问我的页面时,它成功地将我重写为 10.10.10.12:81,然后将我代理到外部服务器 (10.10.10.13)。
当通过 DNS 名称 (www.example.com) 访问我的页面时,它 returns 一个空白页面。查看源代码显示应用了我的 pagespeed 配置,但我的 JS 没有呈现,也没有显示任何内容。
下面是我配置中的相关代码:
<VirtualHost *:80>
ProxyRequests off
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html
RewriteEngine On
RewriteLog "/home/dvanpham/rewrite.log"
RewriteLogLevel 3
#Directs escaped fragment code to an external rendering server
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*) [NC]
RewriteRule .* http://10.10.111.54:82/?page=http://10.10.111.54:81/#!%1 [NE,P,L]
#Directs all other traffic to port 81, which then sends traffic to 2 other servers
RewriteRule ^(.*)$ http://10.10.111.54:81 [NE,P]
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
<VirtualHost *:81>
ProxyRequests off
<Proxy balancer://regscluster>
# BalancerMember http://10.10.112.47:8280
BalancerMember http://10.10.112.48:8280
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://regscluster/
</VirtualHost>
<VirtualHost *:82>
ProxyRequests off
<Proxy balancer://nodecluster>
BalancerMember http://10.10.111.56:8080
BalancerMember http://10.10.111.57:8080
Order Deny,Allow
Deny from none
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://nodecluster/
</VirtualHost>
如果我能提供更多信息或者您对这个问题有任何见解,请告诉我!
编辑:看起来问题与使用域名时的 mod_pagespeed 和 mod_rewrite 有关。
问题是 mod_pagespeed 正在侦听 ProxyPass 并相应地重写 URL,但没有侦听 RewriteRule。
设置
"ModPagespeedMapOriginDomain http://localhost *.domain.com"
成功了。