kay*_*oll 7 apache mod-rewrite https
使用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>
Run Code Online (Sandbox Code Playgroud)
您的 SSL 证书需要对 secure.example.com 和 dbadmin.example.com 都有效。它可以是 Terry Lorber 提到的通配符证书,或者您可以使用subjectAltName字段添加其他主机名。
如果您遇到问题,请首先将其设置<VirtualHost *>并检查它是否可以在没有 SSL 的情况下正常工作。SSL 连接和证书是一个单独的复杂层,您可以在 URI 重写工作后进行设置。
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |