phpstudy 支持https的SSL证书 及 多域名多证书使用

证书申请下载

可以申请阿里云的证书,里面有免费的,目前我便是申请的免费证书

下载完解压后是如下文件

phpstudy 支持https的SSL证书 及 多域名多证书使用
将D:\phpStudy\PHPTutorial\Apache\conf目录中新建一个sssl文件夹,将证书文件放在里面
phpstudy 支持https的SSL证书 及 多域名多证书使用

phpstudy配置

1.打开phpstudy,打开php扩展中的php_openssl

phpstudy 支持https的SSL证书 及 多域名多证书使用

2.打开配置文件httpd -conf

phpstudy 支持https的SSL证书 及 多域名多证书使用
将其中的
  • LoadModule access_compat_module modules/mod_access_compat.so
  • LoadModule ssl_module modules/mod_ssl.so
  • Include conf/extra/httpd-ssl.conf
三行前面的#去掉,然后保存

3.编辑 Apache 根目录下 conf/extra/httpd-ssl.conf 文件

phpstudy 支持https的SSL证书 及 多域名多证书使用

httpd-ssl.conf中要修改的内容
注意:下面内容中,中文标注的地方便是要修改的

第一处

SSLSessionCache        "shmcb:D:/phpStudy/PHPTutorial/Apache/logs/ssl_scache(512000)" #路径改为你自己的
SSLSessionCacheTimeout  300

第二处

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "D:\web\xxx.com" #路径改网站目录的路径,注意斜杠方向只有网站目录与其它的不同  
ServerName m.xxx.com:443 #网站改为你的网址
ServerAdmin admin@example.com
ErrorLog "F:/phpStudy/PHPTutorial/Apache/logs/error.log"  #路径改为你自己的
TransferLog "F:/phpStudy/PHPTutorial/Apache/logs/access.log" #路径改为你自己的

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on


SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL


SSLCertificateFile "F:/phpStudy/PHPTutorial/Apache/conf/sssl/2447742_m.intecheye.com_public.crt" #路径 + 证书文件
#SSLCertificateFile "/Apache24/conf/server-dsa.crt"
#SSLCertificateFile "/Apache24/conf/server-ecc.crt"


SSLCertificateKeyFile "F:/phpStudy/PHPTutorial/Apache/conf/sssl/2447742_m.intecheye.com.key" #路径 + 证书文件
#SSLCertificateKeyFile "/Apache24/conf/server-dsa.key"
#SSLCertificateKeyFile "/Apache24/conf/server-ecc.key"


SSLCertificateChainFile "F:/phpStudy/PHPTutorial/Apache/conf/sssl/2447742_m.intecheye.com_chain.crt" #路径 + 证书文件


#SSLCACertificatePath "/Apache24/conf/ssl.crt"
#SSLCACertificateFile "/Apache24/conf/ssl.crt/ca-bundle.crt"


#SSLCARevocationPath "/Apache24/conf/ssl.crl"
#SSLCARevocationFile "/Apache24/conf/ssl.crl/ca-bundle.crl"

#SSLVerifyClient require
#SSLVerifyDepth  10


#<Location />
#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
#</Location>

#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "D:\web\xxx.com"> #路径改网站目录的路径,注意斜杠方向只有网站目录与其它的不同  
    SSLOptions +StdEnvVars
</Directory>


BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog "F:/phpStudy/PHPTutorial/Apache/logs/ssl_request.log" \ #路径改为你自己的
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>
 

查看是否配置成功

这样算是配置完成了,然后需要检查一下,进到apache下的bin目录中,使用httpd -t指令,如果如下显示,则配置成功;

phpstudy 支持https的SSL证书 及 多域名多证书使用

重启phpstudy,这个时候就可以通过https://www.XXX.com进行访问了

多域名使用不同证书

上面是m.xxx.com证书,如我们主站www.xxx.com也使用证书,则需要重新申请一个证书,然后将证书上传到目录 中
接下来只要再操作一步便可以两个域名都能使用https访问了

修改方法

那便是,将上方httpd-ssl.conf第二处的内容复制一下,依然放在刚才修改的httpd-ssl.conf文件最底部,将参数再修改一次便可

配置后出现apache无法启动处理

再次打开httpd -conf这件文件,将Include conf/extra/httpd-ssl.conf重新注释起来,再重启即可

这样便解决了无法启动的问题,你也可以慢慢查找是什么原因造成的

配置中出现的错误

注:我在第一次配置时,因为服务器不显示文件后缀,导致.crt名称没有复制到下方httpd-ssl.conf配置文件中,搞的我搜了半天

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND