Fork me on GitHub
KeKe Blog

Apache配置ssl证书实现https访问

1 Apache的ssl证书

  • Apche的ssl证书一共有三个
    1_root_bundle.crt
    2domainname.com.crt
    3
    domainname.com.key
    注:domainname.com是您的域名;2 domainname.com.crt为公钥;3 domainname.com.key为私钥。(文件后缀名crt和cer的性质是一样的)

2 安装ssl证书

  • 安装openssl和apache的ssl模块

    1
    yum install openssl mod_ssl -y
  • 修改apache下的httpd.conf配置文件

    1
    2
    3
    4
    5
    6
    7
    #默认配置路径
    vi /etc/httpd/conf/httpd.conf
    #在配置文件中找到一下行,并去掉注释
    #如果没有则自行添加到配置文件中
    LoadModule ssl_module modules/mod_ssl.so
    Include conf/extra/httpd-ssl.conf
  • 修改apache

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #默认配置文件路径
    vi /etc/httpd/conf.d/ssl.conf
    #找到以下行,并去掉注释
    #如没有请自行添加
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
    #添加证书的路径
    #注:不管是添加还是修改都需要先做备份
    #将服务器证书公钥(2_domainname.com.crt)配置到该路径下,同时替换localhost.crt
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    #将服务器证书私钥(3_domainname.com.key)配置到该路径下,同时替换localhost.key
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    #删除行首的“#”号注释符,并将中级CA证书(1_root_bundle.crt)配置到该路径下,同时替换成server-chain.crt
    SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    #保存退出
    #重启apache
    service httpd restart

3 验证测试

  • 绑定hosts

    1
    2
    3
    4
    5
    #Linux&Mac:/etc/hosts
    #Windows:C:\Windows\System32\drivers\etc
    58.229.*.* test.example.com
  • 访问成功视例
    apache-https访问验证成功

-------------本文结束 感谢您的阅读-------------