Apache使用SSL证书实现http升级https

2017-12-12  本文已影响0人  丢了发型的男人

服务器安装SSL尽量别用IIS安装,因为安装完IIS证书还的在IIS下安装服务器解析项目,

推荐Apache下直接安装证书,步骤如下

1.先去申请SSL证书,地址: 阿里云申请SSL ; 腾讯云申请SSL

2. 安装php扩展php_openssl (打开支持SSL证书),

    将SSL证书放到apache下 conf/ssl/ 目录下   1_root_bundle.crt  (中间证书文件)      2_xxxxx.com.crt  (根证书文件) 3_xxxxx.com.key (密钥KEY文件)

注:  小程序中安卓无法获取内容, 报错 request:fail ssl hand shake error   这是由于缺少中间证书导致问题

3. 打开Apache目录先   conf/httpd.conf 配置文件; 打开找到 #LoadModule ssl_module modules/mod_ssl.so,去掉前面的注释符#(保证前面没有#号),使得ssl模块生效。

增加一条引用语句   Include conf/vhosts_ssl.conf ;

4. 在Apache 目录 conf/ 下新建 vhosts_ssl.conf 文件,添加一下内容

Listen 443    (一定要加)

#加下面两句使apache支持同一IP多网站多SSL证书同时生效

NameVirtualHost *:443

SSLStrictSNIVHostCheck off  

#以上两句

<VirtualHost _default_:443>

ServerAdmin www.xxxxx.com (更换成自己的域名)

ServerName xxxxxxxx.com     (更换成自己的域名)

DocumentRoot  "/home/xx....xx/Thinkphp/public"    (网站根目录)

SSLEngine on

SSLProtocol  all -SSLv2 -SSLv3

SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL

SSLCertificateFile  "XXXXX/Apache/conf/ssl/2_xxxxxx.com.crt"

SSLCertificateKeyFile "XXXXX/Apache/conf/ssl/3_xxxxxx.com.key"

SSLCertificateChainFile  "XXXXX/Apache/conf/ssl/1_root_bundle.crt"

</VirtualHost>      特别注意:标点符号一定要为英文标符(如:<>, " " ),删除中文

5, 重启Apache生效

apache设置问题可参考  SSL相关Apache设置

上一篇下一篇

猜你喜欢

热点阅读