在Apache服务器上安装SSL证书

在Apache服务器上安装SSL证书

阿里云SSL证书服务支持下载证书安装到Apache服务器,从而使Apache服务器支持HTTPS安全访问。本文介绍了证书安装的具体操作。

前提条件

  • 您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口)。
  • 您的Apache服务器上已安装了mode_ssl.so模块(启用SSL功能)。
  • 本文档证书名称以domain name为示例,例如:证书文件名称为domain name_public.crt,证书链文件名称为domain name_chain.crt,证书密钥文件名称为domain name.key。
  • 申请证书时如果未选择系统自动创建CSR,证书下载压缩包中将不包含.key文件。

说明 .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改成.pem等扩展名。 证书格式详细内容,请参见主流数字证书都有哪些格式?

操作步骤

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

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

    • 证书文件:以.crt为后缀或文件类型。
    • 证书链文件:以.crt为后缀或文件类型。
    • 密钥文件:以.key为后缀或文件类型。
  2. 在Apache安装目录中新建cert目录,并将解压的Apache证书、 证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。

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

  3. 修改httpd.conf配置文件。
    1. 在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文件中没有找到以上配置语句,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。可执行yum install -y mod_ssl命令安装mode_ssl模块。

    2. 保存httpd.conf文件并退出。
  4. 修改httpd-ssl.conf配置文件。
    1. 打开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功能。如果不支持,多域名证书配置将无法生效。

    2. 保存httpd-ssl.conf文件并退出。
  5. 重启Apache服务器使SSL配置生效。

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

    1. 停止Apache服务。

      apachectl -k stop
    2. 开启Apache服务。
      apachectl -k start
  6. 可选: 修改httpd.conf文件,设置HTTP请求自动跳转HTTPS。

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

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

后续操作

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

https://domain name   #domain name替换成证书绑定的域名。

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

  • DV/OV SSL数字证书部署在服务器上后,用户浏览器访问网站时,展示如下:
  • EV SSL数字证书部署在服务器上后,用户浏览器访问网站时,展示如下:

验证证书是否安装成功时,如果网站无法通过https正常访问,需确认您安装证书的服务器443端口是否已开启或被其他工具拦截。

原文地址:https://www.cnblogs.com/fpjg/p/12604061.html

时间: 2024-08-05 09:19:10

在Apache服务器上安装SSL证书的相关文章

阿里云在Nginx/Tengine服务器上安装证书和在IIS服务器上安装SSL证书

在Nginx/Tengine服务器上安装证书 https://help.aliyun.com/document_detail/98728.html?spm=5176.2020520163.0.0.3c3856a7A8zZ8s 在IIS服务器上安装SSL证书 https://help.aliyun.com/document_detail/98729.html?spm=5176.2020520163.0.0.3c3856a7A8zZ8s 原文地址:https://www.cnblogs.com/pa

服务器上安装SSL证书的好处

服务器上安装了SSL证书之后会不会影响用户浏览网页的速度呢??? 服务器上装SSL证书会增加服务器CPU的处理负担,因为要为每一个SSL连接实现加密和解密,但一般不会影响太大.同时建议您注意以下几点以减轻服务器的负担: ?仅为需要加密的页面使用SSL,如https://www.domain.com/login.asp,不要把所有页面都使用https://, 特别是访问量最大的首页.?尽量不要在使用了SSL的页面上设计大块的图片文件和其他大文件,尽量使用简洁的 文字页面. SSL证书的作用对网站信

Linux+Apache下如何安装SSL证书

最近很多站长在问linux系统平台下如何安装SSL证书?Linux+Apache下如何安装SSL证书?本文整理了关于Linux+Apache下如何安装SSL证书的相关教程供大家参考,更多SSL证书安装部署问题可咨询沃通CA. 一.申请SSL证书 Linux+Apache下如何安装SSL证书?在Linux+Apache下安装SSL证书之前你得先去沃通CA申请一张全球可信的SSL证书,你可以选择付费的中高端SSL证书,也可以选择基础级的免费SSL证书. 二.文件备份 由于安装SSL证书要修改服务器的

在腾讯云服务器centos7.5系统中lamp(centos7.5+apache+mysql+php)环境中安装ssl证书

# 在腾讯云服务器centos7.5系统中lamp(centos7.5+apache+mysql+php)环境中安装ssl证书 1.准备 yum install mod_ssl openssl 安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件 2.上传相关证书到服务器上的相关目录 (这里用的是腾讯云申请的免费证书) 证书: 2_www.some.cn.crt 3_www.some.cn.key 目录: /etc/pki/tls/certs/www.some.cr

Linux+Apache下安装SSL证书

一.Apache安装SSL证书需要三个配置文件 温馨提示:安装证书前请先备份您需要修改的服务器配置文件 1_root_bundle.crt.2_domainname.com.crt.3_ domainname.com.key. 注:这三个文件在文件夹for Apache.zip中,其中domainname.com是您的域名,2_ domainname.com.crt为公钥,3_ domainname.com.key为私钥.(文件后缀名crt和cer的性质是一样的) 二.安装证书 1.修改apac

phpStudy环境安装SSL证书教程(apache)

https://cloud.tencent.com/product/ssl 此链接是检测域名 证书的可以检测一下 下面是证书配置 小白呢亲测 作为PHP程序员,我们一定要学会使用phpStudy环境集成包,PHPstudy用起来方便,快捷,对于刚入门的PHP初学者来说phpStudy是个好东西,我本文我们就和大家分享一下phpStudy环境如何安装SSL证书. 第一步:修改apache目录下的httpd.conf配置文件 1.#LoadModule ssl_module modules/mod_

安装SSL证书的网站被谷歌提升排名权重

8月7日,谷歌宣布,为鼓励网站开发者在保护网页信息上付出更多努力,谷歌搜索引擎排名新算法会提升安装了SSL证书(又叫“https证书”)的网页的搜索权重. 这表示在谷歌搜索新算法下,经过“HTTPS”(超文本传输安全协议)处理的网页——为网页增加 SSL 安全证书——的权重会得到提升,而继续采用“HTTP”(超文本传输协议)的网页的权重会相对降低. SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为

安装SSL证书对网站的重要性

2017 年 1 月起,谷歌浏览器开始把采用HTTP协议的网站标记为"不安全"网站.而早在 2014 年,谷歌就宣布他们将HTTPS/SSL纳入其搜索算法机制中,采用HTTPS/SSL安全认证的网站将会被谷歌给予更多的信任,从而有利于网站在谷歌搜索结果中的排名提升. 对于全球搜索引擎服务商谷歌的这一系列举措,可以看出其对HTTPS/SSL加密的重视.那什么是HTTPS/SSL?可能很多中小型网站不太清楚它的概念,毕竟目前国内网站的HTTPS普及率不高. 在说HTTPS/SSL之前,我们

赶紧安装SSL证书啦!不然那谷歌都不帮你拉!

谷歌先前发布了通告,谷歌浏览器在7月对所有没有安装SSL证书的网站进行"不信任提示".也就是说, 网站再不安装SSL证书谷歌将一律显示不信任,那么网站的可信度和浏览度肯定会受到影响.SSL证书不是什么高深产品,你可以理解它就像驾照.护照.营业执照这类东西,是网络上的加密协议.主要为了证明你的合法靠谱儿的身份.在遵守 SSL协议的基础上,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能.所以,一个SSL证书对网站的影响也会是不容忽视的,不过在这