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

Posted 微刻时光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 webmaster@dummy-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;
      }
}

以上是关于centos7 php开发环境安装--配置SSL(Apache为例)的主要内容,如果未能解决你的问题,请参考以下文章

nginx+php+redis+ssl 配置

开发人员学Linux:CentOS7编译安装PHP并配置PHP-FPM

在腾讯云服务器centos7.5系统中lamp(centos7.5+apache+mysql+php)环境中安装ssl证书

如何彻底卸载安装在lnmp环境下的ssl证书?

详解Linux(centos7)下安装OpenSSL安装图文方法

如何在CentOS 7安装和配置ownCloud