zoukankan      html  css  js  c++  java
  • 在Apache服务器上安装SSL证书

    参考:链接

    前提条件

    1、您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口)

    // 开通443端口
    firewall-cmd --zone=public --add-port=443/tcp --permanent 
    
    // 重新加载
    firewall-cmd --reload

    2、您的Apache服务器上已安装了mode_ssl.so模块(启用SSL功能)

    参考: 链接

    // YUM方式安装mod_ssl.so模块
    yum -y install mod_ssl
    

    安装完之后/etc/httpd/conf.d目录下会出现一个ssl.conf文件:

    3、本文档证书名称以domain name为示例,例如:证书文件名称为domain name_public.crt,证书链文件名称为domain name_chain.crt,证书密钥文件名称为domain name.key

    4、申请证书时如果未选择系统自动创建CSR,证书下载压缩包中将不包含.key文件

    操作步骤

    1、解压已下载保存到本地的Apache证书文件。

    解压后的文件夹中有3个文件:

    • 证书文件:以.crt为后缀或文件类型。
    • 证书链文件:以.crt为后缀或文件类型。
    • 密钥文件:以.key为后缀或文件类型。

    2、在Apache安装目录中新建cert目录,并将解压的Apache证书、证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。

    Apache安装默认目录:/etc/httpd

    说明 :如果申请证书时选择了手动创建CSR文件,请将手动生成创建的密钥文件拷贝到cert目录中并命名为domain name.key。

    3、修改httpd.conf配置文件。

    在Apache安装目录下,打开conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。

    #LoadModule ssl_module modules/mod_ssl.so  #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。
    #Include conf/extra/httpd-ssl.conf  #删除行首的配置语句注释符号“#”。                 
    

    说明:如果您在httpd.conf文件中没有找到以上配置语句,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。

               可执行 yum install -y mod_ssl命令安装mode_ssl模块。

    保存httpd.conf文件并退出

    4、修改httpd-ssl.conf配置文件。

    1. 打开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功能。如果不支持,多域名证书配置将无法生效。

    保存ssl.conf文件并退出。

    5、重启Apache服务器使SSL配置生效。

    在Apache的bin目录下执行以下命令:
    systemctl restart httpd
    

    6、修改httpd.conf文件,设置HTTP请求自动跳转HTTPS。

    在httpd.conf文件中的<VirtualHost *:80> </VirtualHost>中间,添加以下重定向代码。

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

    后续操作

    证书安装完成后,您可通过登录证书的绑定域名验证该证书是否安装成功。  

    https://证书绑定的域名 

    如果网页地址栏出现小锁标志,表示证书安装成功。

    DV SSL、OV SSL数字证书部署在服务器上后,您的浏览器访问网站时,展示以下效果:

    证书安装完成后,如果网站无法通过https正常访问,需确认您安装证书的服务器443端口是否已开启或被其他工具拦截。如果您使用的是阿里云ECS服务器,请前往ECS控制台安全组页面配置放行443端口。

    补充

    配置好SSL证书后网站还是不安全

    原因:

    1、SSL证书安装问题(这种情况会被绝大部分浏览器识别)

    2、SSL证书到期(这种情况被大部分浏览器识别)

    3、站内调用非HTTPS素材包括图文、CSS、js等素材(目前本屌丝常用的360浏览器、火狐浏览器、Chrome浏览器会识别)

    参考:链接    链接

    作者: Pam

    出处: https://www.cnblogs.com/pam-sh/>

    关于作者:网安在读

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

  • 相关阅读:
    2016.08.13/2/index/_d_Lucene54_0.dvm: Too many open files
    /usr/lib64/python2.6/site-packages/pycurl.so: undefined symbol: CRYPTO_set_locking_callback
    rsyslog 读取单个文件测试
    注意:rsyslog 源码安装 会出现日志重复发的情况,需要rpm包安装
    客户端把rsyslog重启,就会发送全部日志 --待研究
    rsyslog 一重启就会开始同步之前所有通配的日志文件
    rsyslog 只读取变化的日志
    响应头location 页面跳转
    8.1 Optimization Overview
    golang 建临时文件目录以及删除
  • 原文地址:https://www.cnblogs.com/pam-sh/p/13630113.html
Copyright © 2011-2022 走看看