我需要帮助来解决这个问题。
- 我有两个本地、独立的网络服务器 192.168.11.5 (https://www.example.com) 和 192.168.9.14 (https://project.example.com)。每个都安装了来自 positivieSSL 的单独非通配符 SSL
- 我有一个公共静态,并为两者创建了一个条目以指向这个静态 IP
- 防火墙路由会将所有 http 请求路由到https://www.example.com(192.168.11.5);并将所有 http 端口 90 路由至https://project.example.com(192.168.9.14)
- 到两个 Web 服务器的所有路由均运行正常(www 使用默认端口,而https://project.example.com:90)
但是当用户只输入 project.mydomain.com 而不输入端口时,防火墙会将该服务路由到https://www.example.com这是端口 80(默认 http 端口)的默认值。我在根目录中添加了此 .htaccesswww.example.com将 project.example.com 的请求重定向到端口 90 的 https。
<IfModule mod_rewrite.c>
# Use https for www, dont match project subdomain
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^project\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
# Rewrite project.example.com (if no port specified) to port 90
RewriteCond %{HTTP_HOST} ^project\. [NC]
RewriteRule (.*) https://project.example.com:90/$1 [L,R=301]
</IfModule>
重定向有效,但有此通知(用户必须忽略该通知才能重定向):
NET::ERR_CERT_COMMON_NAME_INVALID
This server could not prove that it is project.example.com; its security certificate is from www.example.com.
This may be caused by a misconfiguration or an attacker intercepting your connection.
Proceed to project.example.com (unsafe)
在此先感谢您对摆脱上述证书错误消息的任何建议。
答案1
将 (ssl) 虚拟主机添加到 192.168.11.5 https://project.example.com重定向至 https://project.example.com:90 (注意 https 在 443 上,所以大多数人认为 8443 是 alt 端口而不是 90)您需要将 SSL 证书添加到 192.168.11.5,以便它可以应答流量以将流量重定向到其他主机。
如果你在 192.168.11.5 上终止 SSL 流量,则可以将其代理到 192.168.9.14