apache配置https

作者: 任我笑笑 | 来源:发表于2018-04-12 12:54 被阅读18次

    参考url

    https://blog.csdn.net/ithomer/article/details/50433363
    https://www.centos.bz/2018/01/apache-%E5%BC%BA%E5%88%B6-http-%E5%85%A8%E9%83%A8%E8%B7%B3%E8%BD%AC%E5%88%B0-https/

    大体做法

    1. 生成csr,key,crt
    2. 改apache配置
    3. 改.htaccess强制所有http访问转到https

    详细做法

    生成ssl必须的csr,key,crt

    假设CentOS已经安装了Apache Web服务器。我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL,它可以使用yum来安装。
    
    # yum install mod_ssl openssl
    
    首先,生成2048位的加密私钥
    
    # openssl genrsa -out server.key 2048
    
    然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等
    
    # openssl req -new -key server.key -out server.csr
    
    最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年
    
    # openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
    

    在生成csr,key这个步骤,可以使用这个url
    https://myssl.com/csr_create.html

    改apache配置

    1. 打开
      LoadModule ssl_module modules/mod_ssl.so
    2. 打开 Include conf/extra/httpd-ssl.conf
    3. 关闭 Include conf/extra/httpd-ahssl.conf
    4. 在httpdd-ssl.conf内
      <VirtualHost default:443>的选项
      将key,crt的路径修改
    SSLCertificateKeyFile "${SRVROOT}/conf/SSL.KEY"
    SSLCertificateFile "${SRVROOT}/conf/SSL.CRT"
    

    别忘了修改 DocumentRoot "${SRVROOT}/htdocs/xxx"

    1. 注意防火墙打开443端口

    改.htaccess强制所有http访问转到https

    网站根目录下面的.htaccess文件

    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteBase /
       RewriteCond %{SERVER_PORT} !^443$
       RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
    </IfModule>
    

    注意 要修改httpd.conf中

    <Directory "${SRVROOT}/htdocs/xxxx">
    
        AllowOverride None  
    

    这里的None要改为All

    相关文章

      网友评论

        本文标题:apache配置https

        本文链接:https://www.haomeiwen.com/subject/yfpxkftx.html