web-dev-qa-db-ja.com

WAMPでOpenSSLを有効にする

今日、Windows 7コンピューターに最新のWAMP( wampserver.com から)をインストールしました。

PHP > PHP Extensions > php_opensslでSSLを有効にしました

そしてApache > Apache Modules > open_ssl

しかし、https://で何かにアクセスしようとすると、「Problem Loading Page」が表示されます。 Apache_error.logは言う

[Thu Jun 27 16:25:08.622056 2013] [ssl:warn] [pid 4812:tid 356] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior


[Thu Jun 27 16:25:08.973076 2013] [ssl:warn] [pid 4812:tid 356] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior


[Thu Jun 27 16:25:09.356098 2013] [ssl:warn] [pid 4812:tid 356] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]


[Thu Jun 27 16:25:09.365099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00455: Apache/2.4.4 (Win64) OpenSSL/1.0.1d PHP/5.4.12 configured -- resuming normal operations

[Thu Jun 27 16:25:09.365099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00456: Server built: Feb 22 2013 22:08:37

[Thu Jun 27 16:25:09.365099 2013] [core:notice] [pid 4812:tid 356] AH00094: Command line: 'c:\\wamp\\bin\\Apache\\Apache2.4.4\\bin\\httpd.exe -d C:/wamp/bin/Apache/Apache2.4.4'

[Thu Jun 27 16:25:09.366099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00418: Parent: Created child process 3452

[Thu Jun 27 16:25:09.664116 2013] [ssl:warn] [pid 3452:tid 248] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior

[Thu Jun 27 16:25:09.954132 2013] [ssl:warn] [pid 3452:tid 248] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior

[Thu Jun 27 16:25:10.327154 2013] [ssl:warn] [pid 3452:tid 248] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]


[Thu Jun 27 16:25:10.339154 2013] [mpm_winnt:notice] [pid 3452:tid 248] AH00354: Child: Starting 150 worker threads.
12

間違ったopensslファイルでリリースされたApache 2.4.4を備えたWampserver。行うべきことはすべて、ここから1.0.1e opensslをダウンロードしてインストールします。 http://slproweb.com/products/Win32OpenSSL.html

次に、インストールされたディレクトリでこれらのファイルを見つけます。

bin\openssl.cfg

bin\libeay32.dll

bin\ssleay32.dll

bin\openssl.exe

Apacheサーバーを停止します。最初に、それらのバックアップを保存します。次に、Apacheディレクトリにあるこれらのファイルを明確にします。

conf\openssl.cnf->ここでcfgの名前を変更します

bin\libeay32.dll

bin\ssleay32.dll

bin\openssl.exe

サーバーを再起動します。解決しました。

23
gsziszi

Php.iniへのパス([作曲家用]の場合)はC:\ wamp\bin\php\php5.4.x\php.iniです。このファイルは、Wampトレイアイコンをナビゲートした場合とは異なります

そこに行き、@ milesstewart88が言うようにセミコロンを削除します

37
George D.

Php.iniファイルでopenssl拡張機能のコメントを外してください。

例えば。 ; extension = php_openssl.dll

このようにセミコロンを削除します。

extension = php_openssl.dll

それはうまくいくはずです。それは私のために働いた。

23
milesstewart88

Wampserver with Apache 2.4.4で、これは私のために働いた:
既にc:/wamp/OpenSSLなどのSSLキーと証明書でディレクトリを作成していると仮定します

httpd.confのコメントを外します:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so  
LoadModule log_config_module modules/mod_log_config.so  
LoadModule setenvif_module modules/mod_setenvif.so  
LoadModule ssl_module modules/mod_ssl.so

# Secure (SSL/TLS) connections
<IfModule ssl_module>
    Include conf/extra/httpd-ssl.conf
</IfModule>

httpd-ssl.confで編集:

SSLSessionCache "shmcb:c:/wamp/OpenSSL/logs/ssl_scache(512000)"  

<VirtualHost _default_:443>
    DocumentRoot "c:/wamp/www" 
    ServerName localhost:443
    ErrorLog "c:/wamp/logs/error.log"
    TransferLog "c:/wamp/logs/access.log"
    SSLCertificateFile "c:/wamp/OpenSSL/certs/server.crt"
    SSLCertificateKeyFile "c:/wamp/OpenSSL/certs/server.key"
    <Directory "c:/wamp/www">
        SSLOptions +StdEnvVars
    </Directory>
    CustomLog "c:/wamp/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

php.iniextension=php_openssl.dllのコメントを外します

4
baikho

Milesstewart88が言ったように-php.iniファイル内の行拡張子= php_openssl.dllがありません。

沼のメニューからそれを行うことは機能しません-これは実際の問題からミスリードする可能性があります。

1
pietr

これをどのように管理したかをご覧ください。

uncomment below line from <WEBroot>/bin/Apache/Apache2.x/conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so

           &

Include conf/extra/httpd-ssl.conf

「wwwssl」という別のフォルダーに証明書とキーを配置します

AND GOT TO <WEBroot>/bin/Apache/Apache2.x/conf/extra/httpd-ssl.conf

目的のサーバーの仮想ホストを作成します。例:以下を参照

<VirtualHost _default_:443>
    DocumentRoot "<WEBroot>/www/"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "<WEBroot>/wwwssl/webserver.cert"
    SSLCertificateKeyFile "<WEBroot>/wwwssl/webserver.key"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
</VirtualHost>                                  
1
tradebel123