アップデート

アップデート

私は、mod_ssl を使用して Windows 上の apache 2.0 で SSL を設定する方法を学習しようとしています。mod_ssl.so ファイルがモジュール ディレクトリにあり、構成ファイルが conf ディレクトリ (httpd-ssl.conf) に含まれていることを確認し、mod_ssl.so の LoadModule オプションのコメントを解除してモジュールを有効にしました。

自己署名証明書を作成し、crt ファイルとキー ファイルの両方を conf ディレクトリに配置しました。

私の SSL 構成ファイルの情報は次のようになります。

<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
ServerName localhost:443
ServerAlias localhost:443
SSLEngine on
SSLEnable
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCertificate "D:/Dev-Ops/apache/Apache2/conf/server.key"
</VirtualHost>

ここで何か間違ったことをしている可能性は確かです (私は Apache やその他すべてに関して初心者です)。現在、次のようなエラーが表示されます:

D:/Dev-Ops/apache/Apache2/conf/httpd-ssl.conf の 8 行目に構文エラーがあります: コマンド 'SSLEnable' が無効です。スペルミスか、サーバー構成に含まれていないモジュールによって定義されている可能性があります。

私の質問は次のとおりです:

  1. mod_ssl が機能するためには、コンピュータに OpenSSL をインストールする必要がありますか (すでにインストールされています)? もしそうなら、両者が確実に通信できるようにするために何か設定する必要があるのでしょうか?

  2. 上記の VirtualHost 構成の何が問題なのでしょうか? また、これを修正するにはどうすればよいでしょうか?

  3. Apache のすべてのバージョンには、特定のバージョンの mod_ssl が必要ですか? もしそうなら、バイナリ mod_ssl.so ファイルはどこからダウンロードできますか (この小さなファイルを見つけるのはかなり大変です! それとも私が間違った場所を探しているのでしょうか)。特定のバージョンの mod_ssl が必要なら、Apache 2.0 に最適なバージョンは何ですか?

  4. 上記のエラーの原因は何ですか? (ファイルが適切な場所にあり、すべての構成ディレクティブが有効になっているなどを確認しました)。

  5. Apache Web サーバーと実稼働環境でのさまざまなアプリケーションについて詳しく学び始めるのに適した場所、本、リンクを教えていただけますか?

誰かすぐに助けてくれませんか? 皆さんの助けにとても感謝しています。

アップデート

仮想ホストを次のように削除しました。

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

ブラウザに次のエラーが表示されます。

ここに画像の説明を入力してください

次の設定ディレクティブで同じことを試してみると(SSLEngineをオンにした場合)

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLEngine on
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

error.log ファイルに次のエラーが表示されます:

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/Dev-Ops/apache/Apache2/conf/server.cert)

パスフレーズを削除して証明書を再生成し、既存の証明書を新しく作成した証明書に置き換える方法についてかなり調べましたが、うまくいかないようです。問題は mod-ssl のバージョンにあるのではないかと思い始めています (mod-ssl が apache のバージョンと互換性があるかどうかはどこで確認できますか。互換性がない場合は、.so ファイルをどこで入手して問題を解決できますか)。

誰か私にこれを説明してくれませんか? そして、この問題の解決を手伝ってくれませんか?

答え1

mod_ssl が機能するためには、コンピュータに OpenSSL をインストールする必要がありますか (すでにインストールされています)? もしそうなら、両者が確実に通信できるようにするために何か設定する必要があるのでしょうか?

インストール方法によって異なります。 で終わる MSI を使用する必要があります-win32-x86-openssl。これには必要なものがすべて揃っているはずです。

上記の VirtualHost 構成の何が問題なのでしょうか? また、これを修正するにはどうすればよいでしょうか?

削除してくださいSSLEnable。有効なディレクティブではありません。

Apache のすべてのバージョンには、特定のバージョンの mod_ssl が必要ですか? もしそうなら、バイナリ mod_ssl.so ファイルはどこからダウンロードできますか (この小さなファイルを見つけるのはかなり大変です! それとも私が間違った場所を探しているのでしょうか)。特定のバージョンの mod_ssl が必要なら、Apache 2.0 に最適なバージョンは何ですか?

最初の質問に対する回答を参照してください。正しい MSI からインストールする必要があるようです。.soファイルには、機能する SSL セットアップに必要なものがすべて含まれているわけではありません。

上記のエラーの原因は何ですか? (ファイルが適切な場所にあり、すべての構成ディレクティブが有効になっているなどを確認しました)。

2番目の質問の回答を参照してください。

Apache Web サーバーと実稼働環境でのさまざまなアプリケーションについて詳しく学び始めるのに適した場所、本、リンクを教えていただけますか?

ドキュメントは、まずは掘り下げて調べるのに適した場所です。ここは良いリソースになる可能性があり、インターネット上にはハウツー文書が山ほどあります。

答え2

読んでみてくださいmod_ssl ドキュメントそこには指示がないことがわかりますSSLEnable

関連情報