83

Ok

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

現時点では、2つの完全に別個のTomcatインスタンスがあり、わずかに異なるバージョン(1つは開発用ともう1つはデモ用)まで、2つの異なるポートにWebアプリを提供しています。

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

私は(1月に)同じTomcatインスタンスを(この段階でJetty経由で8080で実行されている別のアプリを持っている8090 cos)に次のコードを使用して提供すること にmod_jk成功しました:httpdhttp://www.example.com:8090/devhttp://www.example.com:8090/demohttpd.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(はい、私が言及した他のアプリをシャットダウンした後、https接続をいじらないように)再起動しようとすると、エラーが継続的に発生します。

無効なコマンド「SSLEngine」。スペルが間違っているか、サーバー構成に含まれていないモジュールによって定義されている可能性があります。httpdが実行されていない、開始しようとしている

私はhttpd/modulesdirを調べましたが、実際にはありませmod_sslん。mod_jk.sohttpd.exp

yumを使用してインストールしようとしましmod_sslたが、すでにインストールされていると表示されます。確かに私は見つけることができますmod_ssl.so/usr/lib/httpd/modules、これは私がインストールした場所へのパスでhttpdはなく/opt/httpd、実際にはdir/usr/lib/httpdしか含まれていません。modules

このエラーを乗り越えることができるように、誰かがmod_ssl私のインストール場所に正しくインストールする方法を教えてもらえますか?httpd

4

5 に答える 5

113

ApacheでSSLモジュールを有効にする必要があることがわかりました(sudorootとして実行していない場合は、明らかにコマンドのプレフィックスを付けます)。

a2enmod ssl

次に、Apacheを再起動します。

/etc/init.d/apache2 restart

Apache for Ubuntu / DebianでのSSLの詳細については、こちらをご覧ください。

于 2013-06-26T12:00:16.990 に答える
40

フォルダ内LoadModuleのモジュールを参照している他のコマンドはありますか?もしそうなら、あなたはあなたのconfファイル/usr/lib/httpd/modulesに追加するだけで大​​丈夫なはずです。LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so

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

于 2011-03-10T14:18:03.277 に答える
31

mod_ssl次のコマンドを使用してインストールしてみてください。

yum install mod_ssl

次に、次のコマンドを使用してApacheサーバーをリロードして再起動します。

systemctl reload httpd.service
systemctl restart httpd.service

これはほとんどの場合に機能するはずです。

于 2016-10-05T12:20:06.913 に答える
4

私が使用した:

sudo yum install mod24_ssl

そしてそれは私のAmazonLinuxAMIで動作しました。

于 2018-11-27T03:53:32.807 に答える
0

それがまだ興味があるかどうか、そしてスレッドが投稿されてから状況が変わったかどうかはわかりませんが、/etc/apache2/apache2.conf私のシステムには次のように書かれています:

mods-enabled /、conf-enabled /、sites-enabled /ディレクトリの構成ファイルには、モジュール、グローバル構成フラグメント、または仮想ホスト構成をそれぞれ管理する特定の構成スニペットが含まれています。

それらは、それぞれの*-available/対応物から利用可能な構成ファイルをシンボリックリンクすることによってアクティブ化されます。これらは、ヘルパーa2enmod / a2dismod、a2ensite / a2dissite、およびa2enconf/a2disconfを使用して管理する必要があります。詳細については、それぞれのマニュアルページを参照してください。

そして私のシステムでは、モジュールは/ usr / lib / apache2/modulesにインストールされています。Ubuntu20.04.2LTSを実行しています。

于 2021-03-04T16:43:35.187 に答える