安装教程
您当前的位置:帮助中心 > 常见问题 > SSL证书 > 安装教程

Apache部署https(Linux)

点击数:1331 更新时间:2021-01-27

      

1、SSL证书下载

证书成功颁发后,登陆www.zzy.cn->业务管理->SSL证书服务, 查询->下载证书。

 

2、防火墙端口开放说明

(1) https默认端口为443。根据实际需求,您可以选择其他端口,Apache配置、防火墙等请同步修改。

(2) 如果您使用的是云服务器,请登录云平台系统,安全组增加TCP-443 端口的入站规则。

(3) 如果iptables/firewall防火墙有启用,增加开放TCP-443 端口的入站规则。

 

3、关于Apache的安装

安装apache请支持ssl模块。

 

4、配置文件备份

备份Apache目录的以下配置文件,推荐增加时间戳命名:

conf/httpd.conf -> httpd.conf.20210101

conf/extra/httpd-ssl.conf -> httpd-ssl.conf.20210101

conf/extra/httpd-vhosts.conf -> httpd-ssl.conf.20210101

 

5、证书上传到服务器

进入Apache目录/conf, 创建子目录ssl;

解压证书包,上传apache目录下的3个文件:

域名.key:私钥

域名.crt:公钥

域名.ca.crt:中级证书+ROOT证书

 

6、编辑httpd.conf

打开Apache目录/conf/httpd.conf配置文件,去掉以下三行的开头注释符号#:

LoadModule ssl_module modules/mod_ssl.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Include conf/extra/httpd-ssl.conf

 

7、编辑httpd-ssl.conf

打开Apache目录/conf/httpd-ssl.conf配置文件

(1) 去掉默认配置:

Listen 443,如果开头有注释符号#,删除掉

删除默认的<VirtualHost _default_:443>整段配置。

httpd-vhosts.conf拷贝对应站点的VirtualHost配置过来,80改为443

(2) VirtualHost配置段内增加SSL相关配置:

蓝色部分为增加的SSL配置

域名.crt、域名.key、域名.ca.crt请注意替换您的实际文件名

<VirtualHost *:443>    

# 前面这些同HTTP/80的站点配置

DocumentRoot "/usr/local/apache/htdocs"

ServerName www.zzy.cn

ServerAlias zzy.cn www.zzy.com          

# 以下为新增的SSL配置

SSLEngine on

SSLProtocol all -SSLv3 -SSLv2     # 禁用不安全协议SSL2.0、SSL3.0

SSLCertificateFile "conf/ssl/域名.crt"   # 公钥证书

SSLCertificateKeyFile "conf/ssl/域名.key"   # 私钥

SSLCertificateChainFile conf/ssl/域名.ca.crt"  # 中级证书+ROOT证书

</VirtualHost>

 

8、配置测试

执行如下命令,测试配置文件是否正确:

输入:Apache目录/bin/apachectl -t

例如:/usr/local/apache/bin/apachectl -t

如果提示Syntax Ok,说明站点配置正确;如果返回错误,请根据错误信息调整配置文件。

 

 

9、启动/重启Apache,浏览器输入https://域名访问测试。


10、http自动跳转https配置

(1) 配置自动跳转前,请先用https访问您的网站,确认网站正常显示。

(2) httpd-vhosts.conf修改:

打开extra/httpd-vhosts.conf,找出对应的VirtualHost站点配置,增加如下配置:

RewriteEngine on

RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

(3) 参考前面说明,测试配置文件是否正确

(4) 重启Apache服务,输入http://域名,观察是否自动跳转到https://域名。