HTTPS 和 SSL 问题

HTTPS 和 SSL 问题

是否可以使用相同的 apache 在同一个主机上为网站提供服务,一些使用 https,其他使用简单的 http?

如果可能的话,有人可以给我提示如何让它发挥作用吗?

提前致谢!!

答案1

在 Apache 中使用配置:

您可以对不同的网站名称使用多个块,以便它们在 HTTP 或 HTTPS 上监听所需的端口

Listen 443 http
Listen 80
NameVirtualHost *:80
NameVirtualHost *:443
ServerName *:80

<VirtualHost *:443> 
 [some non-ssl stuff(directory, docroot)] 
 ServerName account.example.com
 SSLEngine on
 SSLCertificateFile /Users/myusername/certs/server.crt
 SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>

<VirtualHost *:80>
  SSLEngine off
  [other stuff like docroot]
</VirtualHost>

为了使单个网站可以在两个端口上运行,请在 http vhost 的 .htaccess 文件中添加重写规则以从 http 重定向到 https:

#Redirrect from http to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

完成。您现在就可以使用 HTTP 和 HTTPS 了。

相关内容