第一步:下载证书
第二步 :
以上是官网截图,
但是按照他说的,服务器上就一个网站,估计可以配置好,但是我们的服务器不可能放一个网站啊!
进入正题,我们服务器多个网站要怎么配置https?
看截图,我的服务器有10+个网站,他们有自己的独立配置文件,不是公共的 httpd.conf
你可以打开 httpd.conf文件,看最后一行 代码。包含了vhost目录下面的所有配置文件。
Include conf/vhost/*.conf
独立配置文件如下:
Listen 443
<VirtualHost *:443>
ServerAdmin admin@zyxinxi.net
DocumentRoot "/data/wwwroot/www.zyxinxi.net"
ServerName www.zyxinxi.net
ServerAlias zyxinxi.net
ErrorLog "/data/wwwlogs/www.zyxinxi.net_error_apache.log"
CustomLog "/data/wwwlogs/www.zyxinxi.net_apache.log" common
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
# 修改加密套件如下
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
# 证书公钥配置
SSLCertificateFile /usr/local/apache/conf/cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile /usr/local/apache/conf/cert/zyxinxi.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile /usr/local/apache/conf/cert/chain.pem
<Directory "/data/wwwroot/www.zyxinxi.net">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
#下面这个配置是http访问的网站
<VirtualHost *:80>
ServerAdmin admin@zyxinxi.net
DocumentRoot "/data/wwwroot/www.zyxinxi.net"
ServerName www.zyxinxi.net
ServerAlias zyxinxi.net
ErrorLog "/data/wwwlogs/www.zyxinxi.net_error_apache.log"
CustomLog "/data/wwwlogs/www.zyxinxi.net_apache.log" common
<Directory "/data/wwwroot/www.zyxinxi.net">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
阿里云下载的文件放在cert文件夹下,没有创建一个,看截图目录。
最后成功截图
注意:我们的网站还要http 跳转到 https .htaccess 配置文件可以如下
//用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站。
//重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权。
//代码如下:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
//或者
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
//或者
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
//如果是在子目录,可以用
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} subfolder
RewriteRule ^(.*)$ https://www.domain.com/subfolder [R,L]
//将以上代码复制到.htaccess中即可。
如有问题请留言