我有一个 wordpress 网站示例.com。我有一个可以跨多台服务器使用的单域 SSL 证书。
当用户访问示例.com或除 forum 之外的任何子文件夹,他们可访问服务器1正在运行 apache。
当用户访问example.com/forum他们被重定向到服务器2运行 nginx。我该如何设置,以便两个 IP 地址都映射到示例.com这样重定向就仅限于内部,并且域名仍然保留示例.com每时每刻
在我的网站 apache vhost 中,我使用
Redirect permanent /forum http://server2ip
重定向到 server2
根据 LUCA 的回答进行编辑,将 server1 设置为 SERVER2 的代理
以下是我的 apache vhost 配置
VirtualHost *:80>
RewriteEngine on
ServerName example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
#Redirect all HTTP requests to HTTPS
# RewriteCond %{SERVER_PORT} 80
# RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
ProxyPass /forum https://server2ip/
<Location /forum>
ProxyPass https://server2ip/
ProxyPassReverse https://server2ip/
</Location>
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyHTMLEnable On
ProxyHTMLURLMap https://server2ip/ /forum
</VirtualHost>
答案1
您实际上是将客户端重定向到不同的服务器。假设您已将 DNS 配置为指向server1
,则想要屏蔽 的存在server2
。为此,请将 apache 配置为反向代理并将/forum
请求代理到server2
。您无需SSL
在 上进行配置server2
。