跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

在Apache服务器上安装SSL证书

由 hrs, 27 六月, 2020

阿里云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等扩展名。 证书格式详细内容,请参见主流数字证书都有哪些格式?

操作步骤

p33689.png

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

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

  4. 修改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文件并退出。
  5. 修改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文件并退出。
  6. 重启Apache服务器使SSL配置生效。在Apache的bin目录下执行以下命令:
    1. 停止Apache服务。

      apachectl -k stop
    2. 开启Apache服务。

      apachectl -k start
  7. 可选:修改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 SSL、OV SSL数字证书部署在服务器上后,您的浏览器访问网站时,展示以下效果:

p108043.png

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

  • 登录或注册以发表评论
来源
https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520163.0.0.56b156a7KBz0zB
内容类型分类
技术文章
文章归类
服务器与运维

文章标签

  • apache

评论

文章标签

CSS
Excel
ubuntu
php
vim
五笔
Linux
VPN
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
drush
模块(module)
Drupal
JavaSrcipt
apache
drupal 9
英语
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
ssh
phpmyadmin
yum
二进制
权限
声音
ssl
selinux
HTML5
WireGuard
password
Dreamweaver
DDEV
flameshot
翻译
颜色
uploadprogress
firewalld
kernel
邮件验证
视图(views)
快捷键
gzip
xdebug
错误
电脑基础
ckeditor
C语言
简介
源地址
mbstring
certbot
php扩展
git
csharp
httpd
apt
电子秤
压缩解压
breadcrumb
表单
短信验证
AI
firmware
摄影
diff
superfish
重定向
drupal 11
网站备份
docker
版本号
tagclouds
java
RSS
adsense
端口
电脑技巧
simple_adsense
KVM
算法
youtube
JavaScript
cookie
badblocks
网站运营
计算机基础
RFID
zip
标签优化
VUE
dns
gimp
form
mod_expires 模块
赚钱
ip
http验证
curl
重定向,301
netstat
字段
maven
input
nginx
哈希值
npm
wps
更多

相关文章

  • 因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
  • kvm虚拟机启动失败:default网络未激活
  • ubuntu 安装kvm 虚拟机
  • 匿名函数(Anonymous Functions)详解
  • foreach 是 PHP 循环语句使用方法
  • implode() 函数的定义和用法
  • Drupal 11 主题制作教程
  • 检查 Composer 是否为官方源
  • 在 Drupal 中权重(Weight)是怎样排序的
  • 解决 Drupal 主题缺失问题
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号