冠富商务通中文社区

 找回密码
 立即注册
查看: 10|回复: 0
打印 上一主题 下一主题
收起左侧

[建站经验] 在Apache下部署SSL证书实现HTTPS

[复制链接]
跳转到指定楼层
楼主
发表于 2017-11-7 21:56:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全”,对于站长来说,部署SSL证书来迁移到HTTPS是一个现实和重要的问题,那么,对于Apache系统来说,如何部署SSL证书实现HTTPS协议呢?下面就讲述一下具体的实现方法。
  安装好Apache, 并且确认是否安装ssl模块,如果没安装的话,使用yum install mod_ssl openssl来安装ssl模块。
  之后,申请并下载SSL证书文件。通常来说有四个文件,分别是:证书文件ca.pem、证书私钥文件ca.key、证书公钥文件public.pem、证书链文件chain.pem。
  ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为ca.key;
  ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:

  •   #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
  •   #Include conf/extra/httpd-ssl.conf
  ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
  # 添加 SSL 协议支持协议,去掉不安全的协议

  •   SSLProtocol all -SSLv2 -SSLv3
  # 修改加密套件如下

  •   SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
  •   SSLHonorCipherOrder on
  # 证书公钥配置

  •   SSLCertificateFile cert/public.pem
  # 证书私钥配置

  •   SSLCertificateKeyFile cert/ca.key
  # 证书链配置,如果该属性开头有 '#'字符,请删除掉

  •   SSLCertificateChainFile cert/chain.pem
  ( 4 ) 设置虚拟主机
  如果要设置http和https同时生效,那么需要为 http 在端口 80 上设立 VirtualHost,同时为 https 在端口 443 上作类似的设置。在端口 80 上的网站的 VirtualHost 例子如下

  •   <VirtualHost *:80>
  •   <Directory /var/www/vhosts/yoursite.com/httpdocs>
  •   AllowOverride All
  •   </Directory>
  •   DocumentRoot /var/www/vhosts/yoursite.com/httpdocs
  •   ServerName yoursite.com
  •   </VirtualHost>
  在端口 443 上增加一个HTTPS网站,需要在文件加入如下内容

  •   NameVirtualHost *:443
  然后再加入一个类似如下的 VirtualHost 记录:

  •   <VirtualHost *:443>
  •   SSLEngine on
  •   SSLCertificateFile /etc/pki/tls/certs/ca.crt
  •   SSLCertificateKeyFile /etc/pki/tls/private/ca.key
  •   <Directory /var/www/vhosts/yoursite.com/httpsdocs>
  •   AllowOverride All
  •   </Directory>
  •   DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
  •   ServerName yoursite.com
  •   </VirtualHost>
  最后,使用如下指令重新启动 Apache , 即可实现网站的HTTPS功能。

  •   /etc/init.d/httpd restart
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2026-3-27 17:08 , Processed in 0.099006 second(s), 12 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表