ejabberdのローカルインスタンスを実行しています。プロセス1のデフォルト設定(ejabberd.yml)がadiumクライアントで正常に動作していました。 YMLファイルにいくつかの変更後、私は、サーバーを配備直し、ユーザー登録時にスタックトレースを次のようになっています:Ejabberd:c2sエラーコード503ユーザー登録/ログイン中にサービス利用できないエラー
2016-03-29 11:15:45.131 [debug] <0.492.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"<stream:features><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver='AC6YpUkEgZqi0CJQw6bRvljBJUI='/><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>X-OAUTH2</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms></stream:features>">>
2016-03-29 11:15:45.195 [debug] <0.491.0>@ejabberd_receiver:process_data:284 Received XML on stream = <<"<iq type='get' id='purpled84a3c3'><query xmlns='jabber:iq:register'/></iq>">>
2016-03-29 11:15:45.195 [debug] <0.491.0>@shaper:update:120 State: {maxrate,1000,0.0,1459230345130850}, Size=74
M=37.0, I=64.387
2016-03-29 11:15:45.196 [debug] <0.492.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"<iq from='localhost' id='purpled84a3c3' type='error'><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
設定YMLファイル:すべてのヘルプは本当にいただければ幸い
listen:
-
port: 5222
module: ejabberd_c2s
##
## If TLS is compiled in and you installed a SSL
## certificate, specify the full path to the
## file and uncomment these lines:
##
# Commented by Kirat
# certfile: "/opt/ejabberd-15.11/conf/server.pem"
# starttls: true
## To enforce TLS encryption for client connections,
## use this instead of the "starttls" option:
## starttls_required: true
##
## Custom OpenSSL options
##
# protocol_options:
# - "no_sslv3"
## - "no_tlsv1"
max_stanza_size: 65536
max_resume_timeout: 1000
certfile: "/Users/karanahuja/Urbanclap_Workspace/ejabberd_live/etc/ejabberd/cert.pem" #$$$ comment before release
shaper: c2s_shaper
access: c2s
zlib: true
starttls: true
# Maybe we close this too - Kirat
-
port: 5269
module: ejabberd_s2s_in
を更新
ejabberdctlで登録できます。ユーザー名ローカルホストのパスワード
eiabberd_c2sに対して、Adiumは引き続き503サービスを利用できないというエラーを表示することができません。
UPDATE
問題は、IQパケットをドロップモジュール、mod_filterでした。 mod_filterがymlファイルのMODULESで定義されていない場合、adiumはサーバに接続します。 mod_filterのログ:
2016-03-29 12:05:33.404 [debug] <0.1552.0>@ejabberd_router:do_route:351 route KARAN DEBUG
from {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
to {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
packet {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a648">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#items">>}],[]}]}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:37 filtering packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:check_stanza:62 IQ packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:45 filtering packet...
From: {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
To: {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
Packet: {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a648">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#items">>}],[]}]}
Result: {drop,mod_filter_iq,sender}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@ejabberd_router:do_route:351 route KARAN DEBUG
from {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
to {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
packet {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a649">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#info">>}],[]}]}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:37 filtering packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:check_stanza:62 IQ packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:45 filtering packet...
From: {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
To: {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
Packet: {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a649">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#info">>}],[]}]}
Result: {drop,mod_filter_iq,sender}
質問:なぜmod_filterによってパケットが破棄されるのですか?
UPDATE
mod_filterの問題は503エラーとは関係ありません。別の質問としてそれを置くでしょう。 Mod_registerがymlファイルにコメントアウトされたため、ユーザーを登録できませんでした。ありがとうMickaël
おかげでミカエル、私は問題がmod_filterであることが分かった。 mod_filterを有効にすると、adiumからの登録とログインは接続状態になり、ログはmod_filterがIQパケットを削除していると言うメッセージを出します。ログで質問を更新する – Kay
はいmod_registerがコメントされました。ありがとう! – Kay