如何配置apache2子域以路由到不同的服务器

问题描述 投票:0回答:1

我正在运行apache 2.4.7,目前我的所有流量都是在8080上的同一服务器/实例上的后端服务器上。

我希望我的www流量转到新的服务器/实例和所有其他子域(app,api等)转到现有的8080。

有人可以提供一些方向吗?

帮助赞赏。

<VirtualHost *:80>
 ProxyPreserveHost On
 ServerAdmin [email protected]
 ServerName example.com
 Redirect "/" "https://www.example.com/"
  RewriteEngine On
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
 ServerAlias www.example.com
 DocumentRoot /var/www/example.com/public_html/
 Redirect "/ft/" "/"
 ErrorLog /var/www/example.com/logs/error.log
 CustomLog /var/www/example.com/logs/access.log combined
 ProxyPass / http://0.0.0.0:8080/
 ProxyPassReverse / http://0.0.0.0:8080/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

apache mod-rewrite subdomain
1个回答
0
投票

如果要对www子域的新服务器进行外部重定向,则需要在其他重写规则下将以下内容添加到配置中:

RewriteCond ${HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://www.example.com/${REQUEST_URI} [L,R=301]

你需要删除ServerAlias指令。这也假设您已经将DNS指向新主机。


如果为www内容提供服务的新框是另一个支持的服务器,则需要另一个虚拟主机。在顶部添加以下内容:

<VirtualHost *:80>
    ServerName www.example.com
    ProxyPass / http://other-box/
    ProxyPassReverse / http://other-box/
</VirtualHost>

你仍然需要删除ServerAlias指令。

© www.soinside.com 2019 - 2024. All rights reserved.