CentOS下为Apache部署Symantec SSL证书并实现强制https访问

CentOS下为Apache部署Symantec SSL证书并实现强制https访问

证书部署

  1. 安装SSL模块

    yum install mod_ssl openssl
  2. 申请Symantec SSL证书,下载到本地,共有三个文件

    • xxx.key
    • xxx_chain.crt
    • xxx_public.crt
  3. 新键cert目录,将以上三个证书文件放入其中

    mkdir /etc/httpd/cert
  4. 配置ssl.conf

    vim /etc/http/conf.d/ssl.conf

    改为(代码之前方括号内的数字代表文本位置)

    # 方括号内的数字代表*大致*文本位置
    [59] DocumentRoot "/var/www/html" # 网页所在目录(绝对路径)
    [60] ServerName www.xxx.com:443 # 申请证书的域名
    [80] SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    [93] SSLHonorCipherOrder on
    # 以下三个路径对应之前放入cert的三个文件,根据文件名和文件类型一一对应
    [100] SSLCertificateFile /etc/httpd/cert/xxx_public.crt
    [107] SSLCertificateKeyFile /etc/httpd/cert/xxx.key
    [116] SSLCertificateChainFile /etc/httpd/cert/xxx_chain.crt
  5. 重启Apache服务

    service httpd restart
  6. 在浏览器地址栏输入https://xxx.com,会显示一个锁的logo,代表SSL部署成功

https强制访问

尽管部署完毕,在地址栏直接输入域名,仍然是访问http页面,为此要将http的访问跳转至https.

  1. 修改httpd.conf

    vim /etc/httpd/conf/httpd.conf

    找到<Directory /var/www/html>部分,将AllowOverrideNone改为All(151行左右)

  2. 修改/创建.htaccess

    vim /var/www/html/.htaccess

    将全部内容改为

    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
  3. 重启Apache服务

    service httpd restart
    
  4. 稍等片刻后,在浏览器地址栏直接输入域名,如xxx.com,将会直接跳转至https页面.

猜你喜欢

转载自www.cnblogs.com/Clouds42/p/12332314.html