web-dev-qa-db-ja.com

ライブサイトでstartsslを使用してwampでsslを有効にする

私は自分のウェブサイトでsslを有効にしようとしています。ライブサイトにwampを使用しています。SSLを有効にする方法に関するチュートリアルをたくさん読みましたが、startssl.comから証明書を使用するためのチュートリアルを見つけることができませんでした。

有効にする必要があるすべてのモジュールが有効になっていると思いますが、現在は

Include conf/extra/httpd-ssl.conf

私のhttpd.confにはコメントがありませんが、私のサイトを実行するために、私のhttpd-ssl.confのすべての行にコメントしています。

私はhttpd-sslで各行を個別に調べ、行を1つずつチェックしてコメントしましたが、仮想ホストの行のコメントを解除するまで問題はないようです(はい、毎回サーバーを保存して再起動しました)

ここで何が起こっているのかわかりませんが、startsslから保存した4つのファイルがあり、crtは私のサイト用です...ここの誰かが助けてくれることを願っています。以下は私のhttpd-ssl.confです

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog  builtin
SLSessionCache         "dbm:Z:/wamp/logs/ssl_scache"
SSLSessionCache        "shmcb:Z:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Listen 443

AddType application/x-x509-ca-cert .crt  
AddType application/x-pkcs7-crl    .crl  
SSLPassPhraseDialog  builtin  
SSLSessionCache        "shmcb:Z:/wamp/bin/Apache/Apache2.2.11/logs/ssl_scache(512000)"  
SSLSessionCacheTimeout  300  
SSLMutex default  

NameVirtualHost *:443  

<VirtualHost *:443>  
ServerName "dirtrif.com"  
DocumentRoot "Z:/wamp/www/"  

SSLEngine on  
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCACertificatePath "Z:/wamp/OpenSSL/certs/"
SSLCACertificateFile "Z:/wamp/OpenSSL/certs/public.crt"
SSLCACertificateFile "Z:/wamp/OpenSSL/certs/ca.pem"
SSLCertificateKeyFile "Z:/wamp/OpenSSL/certs/ssl.key"
SSLCertificateChainFile "Z:/wamp/OpenSSL/certs/sub.class1.server.ca.pem"
</VirtualHost>

また、注意したいのですが、Apache 2.4.4を実行していて、 http://slproweb.com/products/Win32OpenSSL.html (cause私はそれをするためにどこかを読んだ笑)

また、私のサイトは実際には私のPCからのライブサイトであり、ポート80を開いており、ポート443は80と同じ設定です。何らかの理由で、canyouseeme.orgがポート443を認識しない= /

4
your mom

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

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

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

OK、

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

\ wamp\www\wamphelpersにセキュリティで保護されていないサイトを作成することから始めました

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に追加しました

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';
?>

ここでApacheを再起動し、セキュリティで保護されていない単純なサイトが機能していることを確認しますbefore continuing


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

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

error message

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

このエラーが発生した場合でも、これが必要なことですのでご安心ください。

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

これは取得できます ここから

必要なのはこれだけなので、「Win32 OpenSSLvxxxLight」の最新バージョンを選択してください。

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

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

openssl install suggestion

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


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

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

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

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

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

CD c:\apps\OpenSSL-Win32\bin

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

md website

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

openssl genrsa -out website\server.key 2048

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

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

CSRの生成中に、いくつかの情報の入力を求められます。これらは、証明書のX.509属性です。プロンプトの1つは、「共通名(サーバーのFQDNまたはあなたの名前など)[]:」です。 SSLで保護するサーバーの完全修飾ドメイン名をこのフィールドに入力することが重要です。したがって、保護するWebサイトがhttps://www.wamphelpers.devになり、このプロンプトでwww.wampheplers.devと入力します。

質問には何も入力しないでください:チャレンジパスワード[]:] 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) []: www.wamphelpers.dev
Email Address []: [email protected]

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/[email protected]
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 ssl_module modules/mod_ssl.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:SSLをアクティブ化するようにPHPを構成します

Php.iniを編集します(wampmanagerメニューを使用して、正しいメニューを編集します)

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

extension=php_openssl.dll

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

うん、仮想ホストのいやいや、今あなたはプロセスを避けることはできません。

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

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

これらの行を見つける

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin [email protected]
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/apache2.2.26/conf/ssl.key/server.key"

検索

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

に変更します

<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>

検索

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を使用しており、他のものは少し異なりますが、概念は同じです。

enter image description here

これは、証明書が信頼できる機関であるDONT PANICによって署名されていないためです。これは、発生するはずです。

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

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

ここ

そしてここ

そしてここ

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

9
RiggsFolly