[英]Apache - Configuring multiple websites accessed by same IP but different ports
[英]Apache multiple ports binded
我已在apache中配置了我的httpd.conf以根据请求的端口号指向多个站点。 当在Windows中部署时,此配置可以正常工作,但是当我将同一配置移至linux时,它不起作用,请提供帮助。
以下是相同的代码段。
Listen 81
Listen 82
<VirtualHost *:81>
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^((?!/services).)*$ http://%{HTTP_HOST}%{REQUEST_URI}
ServerAdmin root@localhost
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster/ stickysession=ROUTEID
<Proxy balancer://mycluster>
Order deny,allow
Allow from all
BalancerMember http://10.236.75.102:9765 route=AS1 loadfactor=100 timeout=600 Keepalive=On
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
<IfModule mod_headers.c>
SetEnvIf Origin (.*) AccessControlAllowOrigin=$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
</Location>
</VirtualHost>
<VirtualHost *:82>
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^((?!/services).)*$ http://%{HTTP_HOST}%{REQUEST_URI}
ServerAdmin root@localhost
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster/ stickysession=ROUTEID
<Proxy balancer://mycluster>
Order deny,allow
Allow from all
BalancerMember http://10.236.75.101:9767/carbon/ route=UES1 loadfactor=100 timeout=600 Keepalive=On
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
<IfModule mod_headers.c>
SetEnvIf Origin (.*) AccessControlAllowOrigin=$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
我找到了答案,下面是最终解决方案,
<VirtualHost *:81>
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^((?!/services).)*$ http://%{HTTP_HOST}%{REQUEST_URI}
ServerAdmin root@localhost
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster/ stickysession=ROUTEID
<Proxy balancer://mycluster>
Order deny,allow
Allow from all
BalancerMember http://10.236.75.102:9765 route=AS1 loadfactor=100 timeout=600 Keepalive=On
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
<IfModule mod_headers.c>
SetEnvIf Origin (.*) AccessControlAllowOrigin=$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
</Location>
</VirtualHost>
<VirtualHost *:82>
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^((?!/services).)*$ http://%{HTTP_HOST}%{REQUEST_URI}
ServerAdmin root@localhost
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster1/ stickysession=ROUTEID
<Proxy balancer://mycluster1>
Order deny,allow
Allow from all
BalancerMember http://10.236.75.101:9767/carbon route=UES1 loadfactor=100 timeout=600 Keepalive=On
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
<IfModule mod_headers.c>
SetEnvIf Origin (.*) AccessControlAllowOrigin=$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
</Location>
</VirtualHost>
在httpd-ssl.conf中也需要类似的配置
Virtualhost应该有多个条目,例如:
<VirtualHost *:446>
.......
ProxyPreserveHost On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyPass / balancer://mycluster1/ stickysession=ROUTEID
<Proxy balancer://mycluster1>
Order deny,allow
Allow from all
BalancerMember http://10.236.75.101:9767/carbon route=UES1 loadfactor=100 timeout=600 Keepalive=On
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
allow from all
SSLRequireSSL
</Location>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.