环境:
服务器:阿里云 Windows Server 2012 R2
域名:阿里云,已备案,已解析
SSL证书:阿里云,已购买
操作,以阿里云为例:
1.安装系统更新,关闭IE增强安全配置,开启防火墙,将常用端口(80,443,3306,8443等)加入入站规则,具体操作如下:
服务器管理器——Windows 更新——安装更新;
服务器管理器——IE增强的安全配置——关闭;
服务器管理器——Windows 防火墙——启用;
服务器管理器——Windows 防火墙——高级设置——入站规则——新建规则——端口——TCP和特定本地端口:80——允许连接——全选——名称和描述随意——完成;
同样操作将443,3306,8443等端口,根据实际情况添加;
2.在阿里云控制台的防火墙中添加相应端口的规则;
3.安装PhpStudy,下载地址:链接: http://phpstudy.php.cn/
4.根据需求切换版本,建议选择系统服务;
5.根据需求开启PHP扩展和apache模块,下图仅供参考:
6.下载SSL证书,在PhpStudy\PHPTutorial\Apache\conf下创建cert文件夹,将证书文件放入;
7.备份Apache\conf下的httpd.conf、vhosts.conf文件和Apache\conf\extra下的httpd-ssl.conf文件,打开httpd.conf,搜索
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
Include conf/extra/httpd-ssl.conf
去掉前面的#,保存退出;
8.打开httpd-ssl.conf,搜索Listen 443,删除下面内容:
<VirtualHost _default_:443>
...
...
</VirtualHost>
9.添加如下代码:
SSLStrictSNIVHostCheck off
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
<VirtualHost *:443>
# 网站1目录
DocumentRoot "C:\WWW\aaa"
# 网站1域名
ServerName aaa.xxx.com
# 网站1别名
ServerAlias xxx.com
# 网站1目录
<Directory "C:\WWW\aaa">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
SSLEngine on
# 证书公钥配置
SSLCertificateFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/public.pem"
# 证书私钥配置
SSLCertificateKeyFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/214806726580310.key"
# 证书链配置
SSLCertificateChainFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/chain.pem"
</VirtualHost>
<VirtualHost *:443>
# 网站2目录
DocumentRoot "C:\WWW\bbb"
# 网站2域名
ServerName bbb.xxx.com
# 网站2目录
<Directory "C:\WWW\bbb">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
SSLEngine on
# 证书公钥配置
SSLCertificateFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/public.pem"
# 证书私钥配置
SSLCertificateKeyFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/214806726580310.key"
# 证书链配置
SSLCertificateChainFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/chain.pem"
</VirtualHost>
多个域名就继续添加,保存退出,重启apache;
10.如果想要网站http强制跳转到https,打开httpd.conf,在末尾添加如下代码:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
保存退出,重启apache;