1. ホーム
  2. apache

[解決済み] Apache httpdにmod_sslをインストールする方法は?

2023-06-29 11:49:03

質問

OK

そこで、Apacheをインストールし httpd をインストールしたのですが、SSL をセットアップし、いくつかの異なる tomcat サーバーにサービスを提供するために、最近また戻ってきました。

現在、私は 2 つの完全に分離した Tomcat インスタンスを持っており、2 つの異なるポートに私の Web アプリをわずかに異なるバージョン (たとえば開発用とデモ用) で提供しています。

  • example.com:8081
  • example.com:8082

私は (1月に) 成功裏に mod_jk を取得するために httpd に同じ Tomcat インスタンスを提供するために http://www.example.com:8090/devhttp://www.example.com:8090/demo (この段階では Jetty 経由で 8080 で別のアプリを動かしているので 8090) で以下のコードを使用します。 httpd.conf :

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

<VirtualHost *:8090>
    JkMount /devd* tomcatDev
    JkMount /demo* tomcatDemo
</VirtualHost>

やろうとしてるのはSSLを有効にすることではありません。

私は以下を httpd.conf :

Listen 443
<VirtualHost _default_:443>
    JkMount /dev* tomcatDev
    JkMount /demo* tomcatDemo
    SSLEngine on
    SSLCertificateFile "/opt/httpd/conf/localhost.crt"
    SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>

しかし、Apache を再起動しようとすると apachectl restart (でApacheを再起動しようとすると(そう、私が言及した他のアプリをシャットダウンしてhttps接続を弄らないようにした後)、継続的にエラーが発生するのです。

無効なコマンド 'SSLEngine'、おそらくスペルが間違っているか、サーバー構成に含まれていないモジュールによって定義されています。 httpd が実行されていません。

を調べてみましたが httpd/modules ディレクトリを見てみましたが、確かに mod_ssl のみです。 mod_jk.sohttpd.exp .

私は、yum を使ってインストールを試みました。 mod_ssl をインストールしようとしましたが、すでにインストールされていると言われました。確かに、私は mod_ssl.so の中に /usr/lib/httpd/modules をインストールしたパスではありません。 httpd であり、これは /opt/httpd であり、実際には /usr/lib/httpd には何も含まれていません。 modules のディレクションを行います。

をインストールする方法をどなたか教えてください。 mod_ssl を適切にインストールする方法を教えてください。 httpd を追加することで、このエラーを克服できますか?

どのように解決するのですか?

他の LoadModule コマンドでモジュールを参照していますか? /usr/lib/httpd/modules フォルダにあるモジュールを参照していますか?もしそうなら LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so を追加すれば大丈夫です。

そうでない場合は mod_ssl.so ファイルを他のモジュールがロードされているディレクトリにコピーし、そこで参照します。