zoukankan      html  css  js  c++  java
  • Apache万网SSl证书安装不成功的一个注意事项(https安全链接,基于phpstudy)

    最近,微信小程序挺火,要做小程序网站域名必须要有ssl证书,形成https://的安全链接,我于是从万网上下载了一个免费的ssl证书,按照万网提供的安装方式怎么也安装不好,最后我这个Apache小白费了2天的时间,终于自己搞定了。
    ssl证书文件说明:

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

    以下是我自己摸索的证书系统创建的CSR的安装顺序:
    ( 1 ) 把下载的CSR三个文件放到同一个文件夹内,这里我们就命名为ssl文件夹;然后我们吧ssl文件夹移动到apache的目录内,我移动到了:C:phpStudyBApacheconf 这个文件夹内。

    ( 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:phpStudyBApacheconfvhostsssl.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。

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

    ==========================================================================================================

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

    1、开启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:phpStudyBApachelogserror.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这行。我的错误是前者。

  • 相关阅读:
    Java 8 对 List<List<String>> 排序
    获取自然月的起始日期和终止日期
    Java 中如何计算两个字符串时间之间的时间差?(单位为分钟)
    Java StringJoiner
    回文数
    Java 中的值传递和引用传递问题
    substring
    集合的四种遍历方式
    Java 中的静态嵌套类和非静态嵌套类
    使用 Java 查找字符串中出现次数最多的字符以及出现的次数?
  • 原文地址:https://www.cnblogs.com/ginowang42/p/9205317.html
Copyright © 2011-2022 走看看