centos7 php开发环境安装--配置SSL(Apache为例)

1.检查是否安装OpenSSL

    1.1 查看是否安装

openssl version

  1.2 编译安装: 

        https://www.cnblogs.com/rxbook/p/9367725.html

    1.3  yum安装 

yum install openssl   yum install openssl-devel

  1.4 在线升级 

yum -y update openssl

2.配置证书上传目录

      Apache安装目录中新建cert目录,并将下载的Apache证书、 证书链文件和秘钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache的cert目录中新建对应数量的cert目录,用于存放不同的证书(每个域名证书对应一个文件夹存放)  

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

3. 修改httpd.conf配置文件

       3.1 httpd.conf配置参数  mod_ssl.so

#LoadModule ssl_module modules/mod_ssl.so

     删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。

      3.2 引入httpd-ssl.conf

#Include conf/extra/httpd-ssl.conf    #删除行首的配置语句注释符号“#”。

4.修改httpd-ssl.conf配置文件

       4.1   打开httpd-ssl.conf文件  注释掉默认示例参数

       4.2 具体配置参数

<VirtualHost *:443>     
        ServerName  www.xx.com。                    
        DocumentRoot  /data/www/xxx/public          
        SSLEngine on   
        SSLProtocol all -SSLv2 -SSLv3
        SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM 
        SSLHonorCipherOrder on
        SSLCertificateFile cert/domain name1_public.crt   
        SSLCertificateKeyFile cert/domain name1.key   
        SSLCertificateChainFile cert/domain name1_chain.crt  
</VirtualHost>

      4.3 根据情况可设置多个,保存 httpd-ssl.conf 文件并退出。

5.配置httpd-vhosts.conf中站点

      80443端口同时存在

<VirtualHost *:443>
        ServerAdmin -host2.example.com
        DocumentRoot "/home/www/demo/public/"
        ServerName m.ygang.vip
        ServerAlias localhost
        SSLEngine on
        SSLCertificateFile "/usr/local/apache/cert/3087344_m.ygang.vip_public.crt"       
        SSLCertificateKeyFile "/usr/local/apache/cert/3087344_m.ygang.vip.key"            
        SSLCertificateChainFile "/usr/local/apache/cert/3087344_m.ygang.vip_chain.crt"
        ErrorLog "/usr/local/apache/logs/error_log"
        CustomLog "/usr/local/apache/logs/access_log" common
</VirtualHost>

6.设置Apache http自动跳转https 

httpd-vhosts.conf 文件中的<VirtualHost *:80> </VirtualHost>中间,添加以下重定向代码。

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

7. Nginx 配置ssl证书

     

server {
   listen 443;
   server_name localhost;  # localhost修改为您证书绑定的域名。
   ssl on;   #设置为on启用SSL功能。
   root html;
   index index.html index.htm;
   ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
   ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
   ssl_session_timeout 5m;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
   ssl_prefer_server_ciphers on;   
   location / {
       root html;   #站点目录。
       index index.html index.htm;   
   }
}

设置HTTP请求自动跳转HTTPS    在80端口站点添加

server {
      listen 80;
      server_name localhost; 
      rewrite ^(.*)$ https://$host$1 permanent;
      location / {
          index index.html index.htm;
      }
}

相关推荐