Apache万网SSl证书安装不成功的一个注意事项(https安全连接,基于phpstudy)

最近,微信小程序挺火,要作小程序网站域名必需要有ssl证书,造成https://的安全连接,我因而从万网上下载了一个免费的ssl证书,按照万网提供的安装方式怎么也安装很差,最后我这个Apache小白费了2天的时间,终于本身搞定了。
ssl证书文件说明:php

1. 证书文件214776495000741.pem,包含两段内容,请不要删除任何一段内容。
2. 若是是证书系统建立的CSR,还包含:证书私钥文件214776495000741.key、证书公钥文件public.pem、证书链文件chain.pem。apache

如下是我本身摸索的证书系统建立的CSR的安装顺序:
( 1 ) 把下载的CSR三个文件放到同一个文件夹内,这里咱们就命名为ssl文件夹;而后咱们吧ssl文件夹移动到apache的目录内,我移动到了:C:\phpStudyB\Apache\conf 这个文件夹内。小程序

( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到代码: #LoadModule ssl_module modules/mod_ssl.so, 把上面的内容前面的 # 号去掉,开启ssl模块,并在下面加入一行,以便载入一个ssl站点配置的文件vhostsssl.conf,总结起来就是:微信小程序

安全

 #LoadModule ssl_module modules/mod_ssl.so 

替换成服务器

LoadModule ssl_module modules/mod_ssl.so
Include conf/vhostsssl.conf

( 3 ) 而后在conf目录下新建一个文本文件,命名为vhostsssl.conf,该文件完整路径为:C:\phpStudyB\Apache\conf\vhostsssl.conf,并粘贴一下代码:微信

Listen 443
SSLPassPhraseDialog  builtin
SSLSessionCacheTimeout  300
#以域名app.sdclo2.com,网站根目录为D:\app.sdclo2.com为例:
<VirtualHost *:443>
DocumentRoot "D:\app.sdclo2.com"
ServerName app.sdclo2.com
SSLEngine on
#加密套件以下(万网提供)
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!tNULL:!NULL:!FH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile "C:/phpStudyB/Apache/conf/ssl/public.pem"
# 证书私钥配置
SSLCertificateKeyFile "C:/phpStudyB/Apache/conf/ssl/214776495000741.key"
# 证书链配置
SSLCertificateChainFile "C:/phpStudyB/Apache/conf/ssl/chain.pem"
<Directory "d:\app.sdclo2.com"> 
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost> 

( 4 ) 重启 Apache。app

( 5 )输入网址:https://app.sdclo2.com/ 测试证书是否正确安装。ide

==========================================================================================================测试

以上5个步骤在phpstudy中可简化为两步:

一、开启phpstudy的ssl模块,在php_openssl前面打√,具体以下:

 

2 点击“其余选项菜单“→”“站点域名配置”,在弹出的对话框中补充填写https站点的配置信息。注意ssl证书的路径不要搞错。

Listen 443
SSLPassPhraseDialog  builtin
SSLSessionCacheTimeout  300
<VirtualHost *:443>
DocumentRoot "D:\app.sdclo2.com"
ServerName app.sdclo2.com
SSLEngine on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!tNULL:!NULL:!FH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile "C:/phpStudyB/Apache/conf/ssl/public.pem"
SSLCertificateKeyFile "C:/phpStudyB/Apache/conf/ssl/214776495000741.key"
SSLCertificateChainFile "C:/phpStudyB/Apache/conf/ssl/chain.pem"
<Directory "d:\app.sdclo2.com"> 
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost> 

 

注意事项:

若是安全连接出现了服务器错误:

 

Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log.

 

那么咱们就要查看服务器的错误缘由,默认的apache的错误日志文件位于:C:\phpStudyB\Apache\logs\error.log.

我找到的缘由为:

configuration error: couldn't perform authentication. AuthType not set!: /

这个错误缘由在知乎上有解答:(https://www.zhihu.com/question/20240655/answer/62868315

Apache版本若是小于2.4,就去掉Require all granted这行,若是大于2.4,就去掉allow from all这行。个人错误是前者。

相关文章
相关标签/搜索