18

私はhttp://madurad.wordpress.com/2014/04/25/redirect-http-to-https-with-wamp-server/および他の多くに従っているローカルホストにsslを設定しようとしていますが、取得できません成功。httpd-ssl.conf の構文に行き詰まりました。設定するとApacheサーバーがダウンします

<Directory "c:/wamp/www/"> 
   Options Indexes FollowSymLinks  
   AllowOverride all 
   Require all granted 
   SSLOptions +StdEnvVars
</Directory>

私は他の多くを試しました

<Directory "c:/wamp/www/"> 
   SSLOptions +StdEnvVars
</Directory>

取得できない問題は何ですか....

4

7 に答える 7

81

HTTPS SSL を使用するように WAMPServer を構成する方法

これは簡単なプロセスではありません。このチュートリアルで、SSL が機能するようになることを願っています。ただし、機能するように正しく構成することは、完全にあなた次第です。

この道を旅するすべての人のための追加の読み物

Ok、

このチュートリアルは、www.wamphelpers.dev というサイトの作成に基づいています。したがって、その名前が表示されている場所はどこでも、保護しようとしているサイト名に変更してください。

\wamp\www\wamphelpers に安全でないサイトを作成することから始めました。

そのサイトの仮想ホストを追加しました\wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev
    ServerAlias www.wamphelpers.dev
    <Directory  "c:/wamp/www/wamphelpers">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

そのドメイン名を C:\windows\system32\drivers\etc\hosts に追加しました

一部のウィルス チェッカーは HOSTS ファイルへのアクセスをブロックするため、ウィルス チェッカーを無効にするか、hosts ファイルを一時的にブロックしないように設定する必要があります

127.0.0.1 wamphelpers.dev www.wamphelpers.dev
::1       wamphelpers.dev www.wamphelpers.dev

「管理者として実行」を使用して起動したコマンド ウィンドウから、次のように dnscache を再起動します。

net stop dnscache
net start dnscache

次に、\wamp\www\wamphelpers\index.php に簡単なスクリプトを作成します。

<?php
    echo 'Hello, this is the WAMPHELPERS.DEV site homepage';
?>

定義した新しい仮想ホストをアクティブ化するには、\wamp\bin\apache\apache{version}\conf\httpd.confこの行を編集して見つけます

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

#そのようにコメント文字を削除します

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

ファイルを保存します。

ここで Apache を再起動し、続行する前に単純なセキュリティで保護されていない仮想ホスト サイトが機能していることを確認します。


openssl ツールキット。 openssl.exe、ssleay32.dll、および libeay32.dll は、C:\wamp\bin\apache\apachex.yz\bin フォルダーに付属しており、そこにあります。自己署名証明書を作成するために必要なのはこれだけです。

ただし、これらは、インストールしたApacheのどのバージョンでも機能しませんでした。私はいつもこのエラーメッセージを受け取りました。

エラーメッセージ

私がいたApacheバージョンのフォルダに応じて序数が変わったところ。

このエラーが発生した場合でも、心配する必要はありません。

OPENSSL TOOLKIT の最新バージョンをインストールする

こちらから入手できます

注:まだ V1.1 バージョンを使用しないでください。PHP チームはこれらの新しいリンケージを使用して PHP をまだコンパイルしていないため、V1.0 を使用してください。そうなるまでバージョン。

「Win32 OpenSSLv xxx Light」または「Win64 OpenSSLv xxx Light」の最新バージョンを選択して、インストールされている WAMPServer のバージョンと一致するようにします。必要なのはこれだけです。

これにより、このツールキットをインストールするために実行できる .exe ファイルがダウンロードされます。

次の質問が表示されます。C:\windows\system32 に何かをインストールしないように、次のように答えることをお勧めします。結局のところ、これはツールキットであり、適度に頻繁に変更されます。これらのものを別々に保ち、システムのグローバルにしないことが最善です。

openssl インストールの提案

それがインストールされたら(インストールで指定したフォルダに)、キーと証明書を生成するプロセスを開始する準備ができているはずです!


キーと証明書を生成します。

ステップ 1: RSA 秘密鍵を生成する

まず、証明書を作成する必要があります。通常の (有料の) プロセスでは、証明書を作成し、それを署名機関に渡します。これが、あなたが本人であること、および証明書を使用するサイトが本物で合法であることを確認するためにデューデリジェンスを行わなければならないため、費用がかかる理由です。

openssl ツールキットは、証明書に使用する RSA 秘密鍵と CSR (証明書署名要求) を生成するために使用されます。最初のステップは、RSA 秘密鍵を作成することです。この鍵は 1024 ビットの RSA 鍵であり、トリプル DES を使用して暗号化され、ASCII テキストとして読み取り可能なように PEM 形式で保存されます。

[b]管理者として実行[/b] を使用してコマンド ウィンドウ (Dos ボックス) を開き、ディレクトリを上記の OpenSSL Toolkit をインストールした場所に変更します。私の場合、これは

CD c:\apps\OpenSSL-Win32\bin

出力を入れるためのフォルダーを作成します(binフォルダーを整理するため)私はウェブサイトを使用しました

md website

次のコマンドを入力します。

openssl genrsa -out website\server.key 2048

これにより、server.key という名前の Web サイト フォルダーに、パス フレーズ キーのないファイルが作成されているはずです。そのファイルが存在することを確認してください。

ステップ 2: CSR (証明書署名要求) を生成する

CSR の生成中に、いくつかの情報を求めるプロンプトが表示されます。これらは、証明書の X.509 属性です。プロンプトの 1 つは、「Common Name (eg server FQDN or YOUR name) []:」です。 SSL で保護するサーバーの完全修飾ドメイン名をこのフィールドに入力することが重要です。 したがって、保護する Web サイトが の場合は、このプロンプトでhttps://www.wamphelpers.dev入力します。www.wampheplers.devそのまま使っwamphelper.devていましServerNameServerName wamphelpers.dev

質問には何も入力しないでください: A challenge password []: ] Enter キーを押すだけです。SSL が設定された Apache を起動するときにここにパスフレーズを入力すると、Apache は起動せず、次のエラー メッセージが表示されます。

[エラー] 初期化: SSLPassPhraseDialog ビルトインは Win32 ではサポートされていません

基本的に、パスフレーズを入力すると、Apache は起動するたびにそのパスフレーズを要求することになっています。これは明らかにあなたの生活を楽にするものではありませんが、主にWindowsでは実際には機能せず、パスフレーズを要求しようとするとApacheがクラッシュし、上記のエラーが発生します.

CSR を生成するコマンドは次のとおりです。

openssl req -new -key website\server.key -out website\server.csr


Example question and answers:
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]: Hampshire
Locality Name (eg, city) []: Portsmouth
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
Organizational Unit Name (eg, section) []: Information Technology
Common Name (e.g. server FQDN or YOUR name) []: wamphelpers.dev
Email Address []: me@wamphelpers.dev

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ( leave blank just hit the enter key )
An optional company name []: ( leave blank just hit the enter key )

ステップ 3: 自己署名証明書の生成

この時点で、自己署名証明書を生成する必要があります。これは、CA によって署名された証明書を取得する予定がないか、CA が証明書に署名している間に新しい SSL 実装をテストする必要があるためです。

PRE - WARNING この証明書はクライアント ブラウザにエラーを生成し、署名する認証局が不明であり、信頼されていないことを示します。自分で証明書に署名しているので、これは避けられませんが、もちろん、信頼の網は私たちが誰であるかを知りません. この証明書を実際に信頼していることをブラウザに伝える方法を示す、このドキュメントの後半の例を参照してください。

openssl x509 -req -days 365 -in website\server.csr -signkey website\server.key -out website\server.crt


Example output:
Loading 'screen' into random state - done
Signature ok
subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/emailAddress=riggsfolly@wamphelpers.dev
Getting Private key

ステップ 4: 秘密鍵と証明書のインストール

使用している Apache のバージョンの下に、これら 2 つのディレクトリを作成します。

md c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
md c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt

そして、生成したばかりのファイルを次のようにコピーします。

copy website\server.crt c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
copy website\server.key c:\wamp\bin\apache\apachex.y.z\conf\ssl.key

ステップ 5: SSL を有効にするように Apache を構成する

httpd.conf を編集し、この行がコメント解除されていることを確認します

LoadModule authn_socache_module modules/mod_authn_socache.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

この行からコメント「#」も削除します

Include conf/extra/httpd-ssl.conf

次に、このブロックの後にその行を移動します....そのように

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

ステップ 6: PHP を構成して SSL をアクティブ化する

php.ini を編集します (wampmanager メニューを使用して正しいものを編集します)。

コメント「;」を削除します この行から

extension=php_openssl.dll

ステップ 7: 安全なサイトの仮想ホストを構成する

はい、仮想ホストを否定するすべての人にとって、プロセスを回避することはできません。

編集\wamp\bin\apache\apachex.y.z\conf\extra\httpd-ssl.conf

このファイルは Apache によってリリースされ、デフォルトのファイルの場所が含まれています。このファイルの大部分はそのままにしておくことができますが、実際のサイトの場所と他のいくつかのことと一致するように、ここで仮想ホストを構成する必要があります。

これらの行を見つけます

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"

そしてそれらをに変更します

DocumentRoot "c:/wamp/www/wamphelpers"
ServerName wamphelpers.dev:443
ErrorLog "c:/wamp/logs/ssl_error.log"
TransferLog "c:/wamp/logs/ssl_access.log"

探す

SSLCertificateFile "c:/Apache2/conf/server.crt"

そしてに変更

SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"

探す

SSLCertificateKeyFile "c:/Apache2/conf/server.key"

そしてに変更

SSLCertificateKeyFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.key/server.key"

探す

<Directory "c:/Apache2/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

そしてに変更

Apache 2.2 の構文

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 localhost ::1
</Directory>

Apache 2.4 の構文

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

探す

SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

そしてそれをに変更します

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

探す

CustomLog "c:/Apache24/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

そしてに変更

CustomLog "c:/wamp/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

基本的にconfファイルを調べて、コメントアウトされていないがファイルまたはフォルダーへの参照があるコマンドは、「C:/Apache2....」ではなくWAMPServerフォルダー構造を参照するように変更する必要があります。

ここで、変更したすべてのファイルが保存されていることを確認し、wampmanager メニューを使用して Apache を再起動します。

保護されていないサイトがまだ機能していることを最初にテストします。

次に、ドメイン名の前に「https://」を追加して、新しい保護されたサイトを使用してみてください。つまりhttps://www.wamphelpers.dev、もちろん一重引用符は使用しません。

Apache が再起動しない場合は、スペルが間違っている可能性があります。次のように構成をテストします:-

コマンド ウィンドウを開く

cd \wamp\bin\apache\apachex.y.z\bin
httpd -t

これにより、すべての構成ファイルが解析され、エラーが見つかったファイル名と行番号が表示されます。

修正して、もう一度やり直してください。

サイトに最初にアクセスすると、このようなメッセージ ページが生成されます。これは FireFox を使用しており、他は多少異なりますが、コンセプトは同じです。

ここに画像の説明を入力

これは、証明書が信頼できる機関によって署名されていないためです。パニックにならないでください。これは発生するはずです。

「リスクを理解しました」をクリックすると、「例外を追加」というボタンが表示されます。証明書サイトの詳細が実際にあなたのものであることを確認した後、「例外を追加」ボタンを押してください。クリアしない限り、このメッセージは再び表示されません。例外リスト。

大きな注意 事項 Apache v2.2.12 および OpenSSL v0.9.8j では、Apache インスタンスごとに複数のサイトを保護できるようになりました。このチュートリアルでは、そのプロセスについては説明しません。詳細については、こちらを参照してください。

ここ

そしてここ

そしてここ

そして、冒頭で述べたように、SSL 構成で使用可能なすべてのオプションについて調査を行い、デフォルトを使用するのではなく、必要に応じて機能させる必要があります。

于 2014-10-08T08:24:49.040 に答える
5

wampserver 2.5のhttpd.confファイルでモジュールLoadModule socache_shmcb_module modules/mod_socache_shmcb.soを有効にする必要があります。そうでない場合、Apache は次のメッセージをスローします。

AH00526: C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf の 75 行目の構文エラー: SSLSessionCache: 'shmcb' セッション キャッシュはサポートされていません (既知の名前: )。おそらく、適切な socache モジュール (mod_socache_shmcb?) をロードする必要があります。

于 2015-11-24T22:24:31.663 に答える
3

次のようなエラーが発生した場合:

modules/mod_ssl.so をサーバーにロードできません: 指定されたモジュールが見つかりませんでした。

  1. wamp フォルダーで libeay32.dll を検索してみてください。おそらく {wamp フォルダー}/bin/php/php{version 7}/ にあります。

  2. libeay32.dll と ssleay32.dll をコピーして、{wamp フォルダー}/bin/apache/apache{バージョン 2.x}/bin/ AND {wamp フォルダー}/bin/php/php{verion 5.x} に貼り付けます。配置するものはすべてバックアップしてください。

  3. httpd -t を実行して構文をテストする

注: wamp 3.0.6 の apache openssl 部分の間違いによるものだと思います。幸いなことに、php7 フォルダーでは、これらの dll は apache と php5 と互換性があります。

于 2016-09-18T14:51:13.317 に答える
1

エラーがある場合:

modules/mod_ssl.so をサーバーにロードできません: オペレーティング システムは %1 を実行できません

次に、次のことを行う必要があります。

  1. ここで Win32 OpenSSL をインストールしますhttp://slproweb.com/products/Win32OpenSSL.html
  2. libeay32.dll、ssleay32.dll をコピーして wamp php bin フォルダー (C:\wamp64\bin\php\php5.6.19) に貼り付けます。
  3. Apacheを再起動します

注: Wamp サーバー 3 でテスト済み

于 2016-07-20T13:06:33.910 に答える