sql >> データベース >  >> RDS >> Mysql

MySqlへのTomcat/Hibernate接続が失敗し、通信リンクが失敗し、アクセスが拒否されました

    私もこの問題を追跡しました。私の症状はあなたの症状とまったく同じで、あなたが試したのとまったく同じことを試しました。要約すると、私の問題は、SELinuxのcentosでtomcatを使用していたためにのみ発生しました。

    次のコマンドを使用してセキュリティイベントを調べ、一部のアクションが許可されなかった理由を診断するのを手伝ってくれた人もいます。

    sudo ausearch -m avc
    sudo grep "tcp_socket" /var/log/audit/audit.log | audit2why // translates log into some human readable reasons why the audit record was generated
    

    次のようなエントリを見ました:

    そして、tomcatとSELinuxに関するこの記事を見つけました https: //noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74

    次のコマンドを実行して、tomcatがtomcat_tセキュリティコンテキストで実行されているかどうかを確認できます。

    $ps auxZ | grep tomcat
    

    エラーがSELinuxであるかどうかを真に判断するために、SELinuxを無効にしました

    $ sestatus // shows: SELinux status:                 enabled
    $ sudo vim /etc/selinux/config // set "SELINUX=disabled"
    $ sudo shutdown -r now
    $ sestatus // shows: SELinux status:                 disabled
    

    マシンを再起動すると、Tomcatがアウトバウンド接続を確立していることがわかりました。

    素晴らしい、今私は少なくともそれが起こった理由を知っています。もちろん、SELinuxが必要な場合、それを無効にすることは解決策ではありません。おそらく解決策ではない別の回避策は、yumを経由せずにtomcatをインストールすることです。 Yumは、セキュリティコンテキストを使用してtomcatをインストールします。

    現在の行動方針は、Tomcatを管理するセキュリティコンテキストまたは一連のルールを変更して、Tomcatが発信接続を確立できるようにすることだと思います。



    1. Oracleデータ型:VARCHAR2またはCHARを使用する必要があります

    2. Oracleプロシージャでグローバル一時テーブルを使用する方法は?

    3. F#をSalesforce.comに接続する

    4. Oracle SQL Developerでストアドプロシージャを編集する方法は?