サービスリッスンアドレス
目录
1 問題の説明
ECS上にMySQLサーバーを構築しましたが、ファイアウォールとセキュリティグループは正常であるにもかかわらず、リモートアクセスができません。
2 調査
2.1 接続性の確認
ローカルコンピュータを使用してサーバーポートをスキャンした結果は以下の通りです:
|
|
結果は3306ポートが解放されていることを示していますが、サーバー側が正常に動作していません。
2.2 ポートの確認
ECS上で全てのポートの使用状況を確認します:
|
|
mysqlはローカルループバックアドレスにバインドされているため、外部にサービスを提供できません。これが問題の原因です。
3 バインドアドレスの設定
mysqlのデフォルト設定では、サービスアドレスは127.0.0.1
にリッスンされており、外部にサービスを提供しません。バインドアドレスを0.0.0.0
に変更することで、リモートアクセスをサポートできます。以下の設定を行います:
|
|
bind-address = 0.0.0.0 に変更します。直接コメントアウトしてはいけません。そうしないと、次のような2番目の結果が生じる可能性があります。
|
|
結果3が出た場合、ローカルアクセスも成功します。
4 まとめ
多くのソフトウェアやフレームワークは、デフォルトでバインドアドレスが127.0.0.1
になっており、他のマシンからアクセスできません。0.0.0.0
または:::
に変更する必要があります。前者はipv4のサービスを提供し、後者はipv6のサービスを提供します。
Buy me a coffee~
支付宝
贝宝
微信