SSL 工作正常,如何从 http 添加 https 重定向?

SSL 工作正常,如何从 http 添加 https 重定向?

你好,我的服务器出现了严重问题,SSL 在通过 https://... 连接时可以完美运行,我需要设置从 http 到 https 的重定向。

这是我的ssl.confCentOS-6,有一个 IP 地址。使用 SAN 设置 SSL 证书。宁愿不使用.htaccess

Listen 172.21.11.48:443

NameVirtualHost 172.21.11.48:443

LoadModule ssl_module   modules/mod_ssl.so
SSLEngine on
SSLSessionCache         shmcb:/var/cache/httpd/mod_ssl/ssl_scache(512000)

<VirtualHost 172.21.11.48:443>
SSLEngine on
ServerAlias      "webmail.example.com"
DocumentRoot    "/var/www/html/roundcubemail"
SSLCertificateFile /etc/pki/tls/certs/aether.example.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/aether.example.com-2048.key
SSLCACertificateFile /etc/pki/tls/certs/exampleca.crt
</VirtualHost>

<VirtualHost 172.21.11.48:443>
SSLEngine on
ServerAlias      "cloud.example.com"
DocumentRoot    "/var/www/html/owncloud"
SSLCertificateFile /etc/pki/tls/certs/aether.example.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/aether.example.com-2048.key
SSLCACertificateFile /etc/pki/tls/certs/exampleca.crt
</VirtualHost>

当连接http://webmail.example.com它的错误是:

您的浏览器发送了此服务器无法理解的请求。原因:您正在向启用 SSL 的服务器端口发送纯 HTTP 请求

当我在端口 80 上添加另一个 vhost 时,Apache 无法启动。如能得到任何帮助,我将不胜感激。

答案1

您只需要编辑您的 httpd.conf 文件或指定虚拟主机的文件,并添加以下行以将 http 重定向到 https:

  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

相关内容