apache vhosts https/ssl 子域始终重定向到非 https 主页面
Posted
技术标签:
【中文标题】apache vhosts https/ssl 子域始终重定向到非 https 主页面【英文标题】:apache vhosts https/ssl subdomain always redirected to main non-https page 【发布时间】:2013-05-01 18:11:17 【问题描述】:我的虚拟主机配置文件如下所示
<VirtualHost *:443>
ServerName api.example.com
DocumentRoot /var/www/example.com/live/api/
<Directory /var/www/example.com/live/api/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mycert.pem
SSLCertificateKeyFile /etc/ssl/private/mycert.key
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/live/
<Directory /var/www/example.com/live/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error-example.com-live.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
只要我尝试访问https://api.example.com,我就会被重定向到http://www.example.com。 当我将文档根目录更改为 /var/www/whatever-but-not-used-by-other-vhost 时,它可以正常工作。
感谢您的帮助
【问题讨论】:
【参考方案1】:您应该在 documentroot 中有一个 .htaccess,或者由基于 HTTP_HOST 的脚本进行重定向
【讨论】:
谢谢。我在两个文档根目录中都有一个 .htaccess,但是无论我输入什么,我都会被重定向到 http://www.example.com。如果我将 CustomLog 添加到第一个虚拟主机,它会记录 301 重定向,但我不知道它来自哪里。以上是关于apache vhosts https/ssl 子域始终重定向到非 https 主页面的主要内容,如果未能解决你的问题,请参考以下文章
无法使用httpd-vhosts.conf从子域重定向到子子域
树莓派/Debian Apache2 配置自建 CA 实现 HTTPS(SSL) 服务
apache配置virtualhost https(ssl)