gpt4 book ai didi

apache - 使用 mod_rewrite 模拟 SSL 虚拟主机?

转载 作者:行者123 更新时间:2023-12-04 12:26:19 26 4
gpt4 key购买 nike

通过 Apache 2.2 的 SSL 连接透明地重写 URL 的最佳方法是什么?

Apache 2 本身并不支持 SSL 连接的多个基于名称的虚拟主机,我听说 mod_rewrite 可以帮助解决这个问题。我想做这样的事情:

我已经设置了服务器,以便可以访问这些站点

https://secure.example.com/dbadmin

但我想把它设为 https://dbadmin.example.com

我如何设置它以便重写规则将 dbadmin.example.com 重写为 secure.example.com/dbadmin,但不会在客户端的地址栏上显示重写(即客户端仍然只会看到 dbadmin.example.com ),都在 https 上?

最佳答案

配置单个 VirtualHost 以同时为 secure.example.com 和 dbadmin.example.com 提供服务(使其成为唯一的 *:443 VirtualHost 实现此目的)。然后您可以使用 mod_rewrite调整对 dbadmin.example.com 的请求的 URI:

<VirtualHost *:443>
ServerName secure.example.com
ServerAlias dbadmin.example.com

RewriteEngine on
RewriteCond %{SERVER_NAME} dbadmin.example.com
RewriteRule !/dbadmin(.*)$ /dbadmin$1
</VirtualHost>

您的 SSL 证书需要对 secure.example.com 和 dbadmin.example.com 都有效。它可以是 Terry Lorber 提到的通配符证书,或者您可以使用 subjectAltName字段以添加其他主机名。

如果您遇到问题,请先在 <VirtualHost *> 上进行设置并检查它是否在没有 SSL 的情况下工作。 SSL 连接和证书是一个单独的复杂层,您可以在 URI 重写工作后进行设置。

关于apache - 使用 mod_rewrite 模拟 SSL 虚拟主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com