下载安装apache
windows apache ssl版本(推荐)
推荐下载安装apache ssl版本,内置openssl,简化操作
https://www.apachehaus.com/cgi-bin/download.plx
windows apache 非ssl版本
- 根据windows 32位 或 64位,下载相应版本的 apache
- 根据windows 32位 或 64位,下载相应版本的 openssl
下载地址:http://slproweb.com/products/Win32OpenSSL.html
下载 mode_ssl.so
https://www.malaoshi.top/show_1EF5T6UIbDSN.html
放到这个路径Apache安装路径\modules\mode_ssl.so
服务器准备工作
硬件服务器上已经开启了443端口(HTTPS服务的默认端口)
阿里云申请免费证书
参见:
https://yq.aliyun.com/articles/637307
下载Apache证书文件
解压后的文件夹中有3个文件:
- 证书文件:以.crt为后缀或文件类型。
- 证书链文件:以.crt为后缀或文件类型。
- 密钥文件:以.key为后缀或文件类型。
在Apache安装目录中新建cert目录,并将解压的Apache证书、 证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。
修改httpd.conf配置文件。
在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。
#Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
保存httpd.conf文件并退出
修改httpd-ssl.conf配置文件。
打开Apache/conf/extra/httpd-ssl.conf文件并找到以下参数,按照下文中注释内容进行配置。
说明 根据操作系统的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf目录中。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。
SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>
#如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。
</VirtualHost>
说明 需注意您的浏览器版本是否支持SNI功能。如果不支持,多域名证书配置将无法生效。
保存httpd-ssl.conf文件并退出。
重启Apache服务器使SSL配置生效
https://www.malaoshi.top/show_1EF5PEZkGAzg.html
设置HTTP请求自动跳转HTTPS
- 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。
#LoadModule rewrite_module modules/mod_rewrite.so #删除行首的配置语句注释符号“#” - 在httpd.conf文件中的
<VirtualHost *:80> </VirtualHost>中间,添加以下重定向代码。RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
访问网站
如果网页地址栏出现 小锁 标志,表示证书安装成功。
感谢:
https://blog.csdn.net/zha6476003/article/details/80900988
https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520163.0.0.675356a7nMli2a
