您的当前位置:首页>全部文章>文章详情

Apache服务器如何安装SSL证书

发表于:2023-09-09 16:45:06浏览:126次TAG: #linux #apache

以阿里云申请证书为例

①在阿里云创建免费证书,进行验证
②下载证书,解压得到三个文件
③将三个文件上传到服务器Apache的安装目录下的cert目录下

例如: /www/server/apache/cert/

④修改Apache安装目录下的conf目录下的httpd.conf文件

#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

将这两行前面的"#"删除,意思是:
加载mod_ssl.so模块启用SSL服务
引入httpd-ssl.conf文件的配置

⑤在httpd-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>

⑥可选:修改httpd.conf文件,设置HTTP请求自动跳转HTTPS
在httpd.conf文件的< VirtualHost *:80 >< /VirtualHost >中,添加以下重定向代码

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

⑦重启Apache服务器使SSL配置生效
在Apache的bin目录下执行

./apachectl -k stop   停止Apache服务
./apachectl -k start  开启Apache服务