Apache 使用单独的SSL证书时将子域重定向到不同的路径
我有一个网站与几个不同的子域,并希望有更高的安全级别比其他网站的一部分。例如管理区域。我知道您可以创建任意数量的证书。我遇到的问题是,无论首先列出哪个子域,它的DocumentRoot都会应用于重定向到https://的所有其他子域。以下是我在httpd-vhosts.conf中的代码: 例如,如果我去secure.example.com,它的DocumentRoot将是/Applications/MAMP/htdocs/Website/Account,而不是/Applications/MAMP/htdocs/Website/secure 有办法解决这个问题吗Apache 使用单独的SSL证书时将子域重定向到不同的路径,apache,ssl,dns,vhosts,Apache,Ssl,Dns,Vhosts,我有一个网站与几个不同的子域,并希望有更高的安全级别比其他网站的一部分。例如管理区域。我知道您可以创建任意数量的证书。我遇到的问题是,无论首先列出哪个子域,它的DocumentRoot都会应用于重定向到https://的所有其他子域。以下是我在httpd-vhosts.conf中的代码: 例如,如果我去secure.example.com,它的DocumentRoot将是/Applications/MAMP/htdocs/Website/Account,而不是/Applications/MAMP
提前谢谢你 我觉得你的配置不错。您使用的浏览器/客户端是否支持TLS服务器名称指示扩展?这是客户端通过TLS访问secure.example.com的唯一方法。我正在使用Safari,但它仍然无法工作。有什么想法吗?你试过其他浏览器吗?Firefox或Chromium的最新版本?是的,我有,但它们也不起作用
# HTTP Configuration
<VirtualHost *:80>
ServerName account.example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
DocumentRoot "/Applications/MAMP/htdocs/Website/Account"
</VirtualHost>
# SSL Configuration
<VirtualHost *:443>
ServerName account.example.com
SSLEngine on
SSLCertificateFile /Applications/MAMP/conf/apache/account.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/account.key
DocumentRoot "/Applications/MAMP/htdocs/Website/Account"
</VirtualHost>
#Secure Admin Config
<VirtualHost *:80>
ServerName secure.example.com
DocumentRoot "/Applications/MAMP/htdocs/Website/Secure"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
DocumentRoot "/Applications/MAMP/htdocs/Website/Secure"
# Other directives here
</VirtualHost>
#SSL Config for Admin area
# SSL Configuration
<VirtualHost *:443>
ServerName secure.example.com
SSLEngine on
SSLCertificateFile /Applications/MAMP/conf/apache/secure.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/secure.key
DocumentRoot "/Applications/MAMP/htdocs/Website/Secure"
</VirtualHost>