如何在Wamp服务器中启用SSL?

时间:2011-02-21 11:16:10

标签: php ssl wamp

我试过在线搜索,但我感到很困惑。我没有弄清楚。

3 个答案:

答案 0 :(得分:23)

STEP BY STEP tutorial

从链接复制:

在WAMP上启用SSL

此分步指南介绍了如何在WAMP上启用SSL。

  1. here下载WampServer 2.0并将其安装到默认位置(c:\ wamp)。

  2. 现在,我们需要一个私钥/公钥对以及一个CA来签署我们的公钥。

  3. 首先,让我们看看如何创建私钥/公钥对。

    keytool -genkey -alias rpcert -keyalg RSA -keysize 1024 -dname "CN=identity-rp,L=SL,S=WS,C=LK" -keypass wso2key -keystore rpkeystore.jks -storepass wso2key
    

    这将创建一个带有公钥/私钥对的密钥库[rpkeystore.jks]。

    我的previous post说明了如何从密钥库导出私钥。只需按照那里给出的步骤操作,您将得到一个文件server.key,这是您的私钥。

    现在,我们需要使用CA签署我们的公共证书。

    这 - 要求我们创建一个示例CA,并说明如何执行此操作。

    这里我们使用OpenSSL构建所需的CA基础架构。对于Windows,您可以下载Win32 OpenSSL v0.9.8g from here

    安装完成后,请确保将C:\OpenSSL\bin [i.e [INSTALLED_LOCATION]\bin]添加到PATH env变量。

    openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.crt
    

    以上内容将为我们的示例CA创建公钥/私钥对。

    现在,我们需要为服务器创建证书签名请求。

    转到创建密钥库[rpkeystore.jks]的文件夹,然后发出以下命令。

    keytool -certreq -v -alias rpcert -file csr.pem -keypass wso2key -storepass wso2key -keystore rpkeystore.jks 
    

    现在将csr.pem复制到为CA生成密钥的文件夹中,然后从那里发出以下命令。

    openssl x509 -req -days 365 -in csr.pem -CA cacert.crt -CAkey cakey.pem -CAcreateserial -out server.crt
    

    到目前为止,我们已经收到了所有需要的文件。

    cacert.crt - > CA公共证书 server.crt - > CA签署的服务器公共证书 server.key - >服务器私钥。

    假设您已将WAMP安装到默认位置,请将以上三个文件复制到c:\wamp\bin\apache\apache2.2.8\conf

    同时编辑c:\ WINDOWS \ system32 \ drivers \ etc \ hosts文件并添加以下条目。

    127.0.0.1 identity-rp
    

    如果您记得,当我们为服务器创建公共证书时,我们为identity-rp创建了它。

    1. 编辑httpd.conf [C:\ wamp \ bin \ apache \ apache2.2.8 \ conf]
    2. 取消注释以下两行。

      LoadModule ssl_module modules/mod_ssl.so
      
      Include conf/extra/httpd-ssl.conf
      

      查找Listen 80并将其更改为Listen 12081 - 这是我们的服务器在端口号12081上运行。

      查找ServerName并将其设置为ServerName identity-rp:12081。

      1. 编辑httpd-ssl.conf [C:\ wamp \ bin \ apache \ apache2.2.8 \ conf \ extra]

        设置Listen identity-rp:12444 - 我们正在侦听端口12444以进行安全通信。

        设置

        设置DocumentRoot“C:/ wamp / www /”

        设置ServerName identity-rp:12444

      2. 对于整个文件,找到“C:/ Program Files / Apache Software Foundation / Apache2.2”并替换为“C:/wamp/bin/apache/apache2.2.8”。

        查找SSLCertificateFile并设置SSLCertificateFile“C:/wamp/bin/apache/apache2.2.8/conf/server.crt”

        查找SSLCertificateKeyFile并设置SSLCertificateKeyFile“C:/wamp/bin/apache/apache2.2.8/conf/server.key”

        查找SSLCACertificateFile并设置SSLCACertificateFile“C:/wamp/bin/apache/apache2.2.8/conf/cacert.crt”

        1. 编辑php.ini(C:\ wamp \ bin \ apache \ apache2.2.8 \ bin)
        2. 取消注释第extension=php_openssl.dll

          1. 现在我们完成了 - 进行语法检查并启动apache服务器。

            产品:> cd C:\ wamp \ bin \ apache \ apache2.2.8 \ bin 产品:> httpd -t 产品:> httpd --start

          2. 在浏览器中输入https://identity-rp:12444 - 您会在浏览器中看到证书错误 - 以避免在浏览器中安装CA证书。

答案 1 :(得分:6)

本地主机SSL / HTTPS通信的简便方法:

下载:cacert.pem file

php.ini *取消评论和更改: curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"

  • 您可以通过在CLI中运行php.ini来查找计算机上php --ini文件的位置
  • 我将我的cacert.pem放在与php.ini相同的目录中以方便。

答案 2 :(得分:1)

到2019年有效的解决方案

(这里是source,其中提供了所有必需的分步命令)。但是,由于文本较大,因此我减少了工作流程:

  • 在Wamp中,右键单击 APACHE 并加载ssl_modulesocache_shmcb_module
  • 将生成的private.keycertificate.crt放入apacheXX\conf\文件夹中。
  • apacheXX\conf\httpd.conf中取消注释此行:Include conf/extra/httpd-ssl.conf
  • 打开apacheXX\conf\extra\httpd-ssl.conf并应用以下更改: 在下面的行:<VirtualHost _default_:443>找到并设置它们:

ServerName localhost:443 SSLCertificateFile "../path/to/../conf/certificate.crt" SSLCertificateKeyFile "../path/to/../conf/private.key"

保存文件并关闭它。然后,您可以加载https://localhost/