Callback サーバからのメッセージ送信が来なくなった? - トークBot - LINE WORKS Developers : コミュニティ

Callback サーバからのメッセージ送信が来なくなった?

石川

2022.01.20既読 1483

本日 2022/1/20 08:10過ぎから、Callback サーバから弊社へのメッセージ送信が来なくなりました。
LINE WORKS側で何か発生していないか、確認をお願いします。
([リリース] アップデートのお知らせ (1月20日)に関係ありますでしょうか?)

コメント15

  • 업데이트 된 답글입니다.

    大原

    過去の投稿で類似現象を検索したところ、ルート証明書関係が原因でCallbackが受信できない現象が発生するケースがあるようです。
    ただ今回、Callbackが受信できなくなった 1/20に証明書の更新等は行っていませんし、有効期限も切れていません。
    そこで確認のため、Callback先を別サーバー(ngrok)にしたところ、受信できました。(元に戻すとやはり受信できません)

    1つ気になったのですが、1/20のAPIメジャーアップデートで、CAリストが更新されたとアナウンスがありました。
    https://static.worksmobile.net/static/wm/media/message-bot-api/ca_root_v2.txt
    ここには弊社が利用しているルートCA(GlobalSign Root CA - R3)も含まれていましたが、中間CA(※)は含まれていないのですが
    問題ないでしょうか?
    ※中間CA証明書
    CN=GlobalSign GCC R3 DV TLS CA 2020
    O=GlobalSign nv-sa
    C=BE

    このアップデートの影響でCallback先の認証エラーが発生しているということはないでしょうか?

    ①証明書の認証エラーが発生するとCallbackが届かなくなること(過去の投稿より)
    ②証明書更新はしておらず、有効期限も切れていないこと
    ③受信できなくなったのがメジャーアップデートのタイミングだったこと
    ④メジャーアップデートでCAリストの更新があったこと
    ⑤コールバック先をngrokにすると届くこと
    以上からするとCAリスト更新が関係している可能性があるのではと思っています。
    本番環境に影響が出ているため、できるだけ早いご回答をお願い致します。

    2022.01.21

    0
  • 업데이트 된 답글입니다.

    大原

    https://static.worksmobile.net/static/wm/media/message-bot-api/ca_root_v2.txt
    に以下のように不正と思われる行があります。(下記最終行)

    "C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3 G3"     Jan 12 20:26:32 2042 GMT
    "C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3"     Nov 24 19:06:44 2031 GMT
    "C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2 G3"     Jan 12 18:59:32 2042 GMT
    "C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2"     Nov 24 18:23:33 2031 GMT
    "C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 1 G3"     Jan 12 17:27:44 2042 GMT
    =QuoVadis Limited, OU=Root Certification Authority, CN=QuoVadis Root Certification Authority  ← ★★★この行です★★★

    「"C=BM, O」が先頭につき、最後に閉じるダブルクォートと、日付情報があるのが正しいのでと思いますが如何でしょうか?
    弊社が利用しているCAはこの行より下にあります。これが原因の可能性はないでしょうか?
    本番環境に影響が出ているため、できるだけ早いご回答をお願い致します。

    2022.01.24

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    こちらの検証環境で確認しましたが、Callback messageは正常に取得できました。
    また、サーバーの状況も確認いたしましたが、正常に動作しておりました。

    ご利用のネットワーク環境、Callbackサーバーの設定を今一度ご確認ください。
    IP制限などを行っている場合にはサーバーIPの追加が必要となる場合がございます。
    その場合はカスタマサポートまでご相談ください。

    CAリストはこちらで動作を確認している証明書となっております。
    中間証明書含め、リストにない証明書に関しましては動作の保証はいたしかねます。
    証明書のご利用につきましてはCAリストを参考にご検討ください。

    また、CAリストに一部誤表記がありましたことは担当の者に報告させていただきました。
    その際、確認を取りましたところ、こちらはtextデータの誤表記であり、サーバー設定には影響しておりませんでした。
    ご心配をおかけしてしまい申し訳ございませんでした。
    CAリストの誤表記に関しましては修正を予定しております。

    2022.01.27

    0
  • 업데이트 된 답글입니다.

    大原

    ご確認およびご回答ありがとうございます。

    > こちらの検証環境で確認しましたが、Callback messageは正常に取得できました。
    > また、サーバーの状況も確認いたしましたが、正常に動作しておりました。

    こちらに関しては、1つ目のコメントに「⑤コールバック先をngrokにすると届くこと」
    と記載しています通り、Callback機能が動作していることは、弊社の方でも認識しております。

    > ご利用のネットワーク環境、Callbackサーバーの設定を今一度ご確認ください。
    > IP制限などを行っている場合にはサーバーIPの追加が必要となる場合がございます。
    > その場合はカスタマサポートまでご相談ください。

    弊社でもIP制限の有無等は確認しており、問題ありませんでした。

    > CAリストはこちらで動作を確認している証明書となっております。
    > 中間証明書含め、リストにない証明書に関しましては動作の保証はいたしかねます。
    > 証明書のご利用につきましてはCAリストを参考にご検討ください。

    こちらに関しては、1つ目のコメントに記載しています通り、中間CAは含まれていませんが
    ルートCAは含まれていますので問題ないという認識です。もし認識が間違っていたら
    その旨コメントください。

    > また、CAリストに一部誤表記がありましたことは担当の者に報告させていただきました。
    > その際、確認を取りましたところ、こちらはtextデータの誤表記であり、サーバー設定には影響しておりませんでした。
    > ご心配をおかけしてしまい申し訳ございませんでした。
    > CAリストの誤表記に関しましては修正を予定しております。

    こちらに関しては、動作に影響しないとのこと、承知しました。

    状況は以下の通りですが、他に何か考えられることがあればご教示ください。
    ・ngrok には届きますが、弊社サーバには届かない。
    ・弊社サーバ/ネットワークにて、IP制限等にも問題なし
    ・SSL証明書も問題なし

    2022.01.28

    0
  • 업데이트 된 답글입니다.

    大原

    追記します。

    ポート番号が原因である可能性はないでしょうか。
    1/20に、ポート番号の制限変更はございましたか?

    現在、Callback URLには、https://xxxxxxxxxxx:0000/xx/xx (0000は4桁のwell-knownポート以外のポート番号)のような形式で設定しています。

    検証の為、以下を行いました。

    ① 弊社で新しいサーバーを立て、443と上記4桁のポート番号の両方を受信できるように構築
    ② LINE WORKSに新しいbot を作成
    ③ ①のURLを、②のCallback URLに設定して確認

    ⇒ 結果、443の場合は受信できましたが、4桁のポートの方は受信できませんでした。
     ポート番号の差異のみで受信可/不可の動作の差異が出ています。

    Callback URL:
    https://xxxxxxxxxxx/xx/xx              ○ 受信できる
    https://xxxxxxxxxxx:0000/xx/xx      × 受信できない

    1/20に、ポート番号の制限変更はございましたか?
    ポート番号の指定可能範囲があればお教えいただけますでしょうか。

    2022.02.01

    2
  • 업데이트 된 답글입니다.

    藤森

    弊社でも443以外のポートを指定したCallback URL宛にメッセージが送信されない事象が発生しているように見えます。
    原因を調査いただけますようお願いいたします。

    2022.02.03

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    Callback URLではportの制限はございません。
    また、1/20のUpdateにおいても上記に変更はございません。

    2022.02.04

    0
  • 업데이트 된 답글입니다.

    大原

    制限はないとのこと、了解しました。
    では、そちらの検証環境で受信が確認できた443以外のポート番号を1例でもいいので、教えて頂けますようお願いいたします。

    (お願い)
    本番サービスが1/20以降ずっと止まっており、大変困っています。
    2/3に別のユーザー様からコメントを頂きましたが、弊社以外でも同じ現象が発生しているようです。
    こちらでも5桁のポート番号(49151、49152)なども試しましたが、メッセージは来ませんでした。
    1例でもいいので教えてください。
    できるだけ早いご回答をお願い致します。

    2022.02.04

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    ご設定されているportはインターネットに解放されておりますでしょうか?
    httpsとして割り当ててportを解放しているのであれば、どの番号でも設定可能です。
    ブラウザ等でアクセス可能かどうかご確認ください。

    2022.02.04

    0
  • 업데이트 된 답글입니다.

    大原

    はい、もちろんインターネットに開放されています。
    社外の端末のブラウザから、インタネット経由で、Callback URLに設定したURL(https://xxxxxxxxxxx:0000/xx/xx )にアクセス可能です。(ただしGETになりますが)

    実際に、そちらの検証環境で1例でいいので443以外のポート番号を検証頂けないでしょうか?
    そして、その検証で受信が確認できたポート番号を、教えて頂きたく存じます。
    弊社もそのポート番号で、確認致します。

    2022.02.04

    1
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    8080および16000にて正常な動作を確認しております。

    2022.02.07

    0
  • 업데이트 된 답글입니다.

    大原

    8080および16000番の正常動作を確認済みとのことですので、
    ボットのCallback URLに以下のようにURLを設定し、そのボットに対してテキストを送信したところ、
    以下のような結果となりました。
    ① https://xxxxxxxxxxx:8080/xx/xx    ⇒ ○ 受信できました。
    ② https://xxxxxxxxxxx:16000/xx/xx   ⇒ × 受信できませんでした。

    LINEWORKSさんの検証と異なる結果となりました。

    これは、本番環境とは別の「新しい環境」で実施したものです。
    「新しい環境」は、パブリッククラウドで、弊社ネットワークとは関係のない環境です。
    IP制限等は行っておらず、検証するポートを通すように設定しております。
    また、受信できることを証明するため、RESTクライアントから、①と②両方にPOSTリクエストをすると、
    両方受信できています。もちろんWebブラウザでもアクセスできることを確認しております。

    本日念のため、別のパブリッククラウドの環境でも試しましたが、両方とも、
    LINE WORKS からは 443と8080は受信でき、それ以外は受信できませんでした。(⇒ 下表。任意にポートを追加検証しています。)
    そして、RESTクライアントから同URLにPOSTすると、全て受信できました。
              
    パブリッククラウド1
    ・443: ○
    ・xxxx: × (弊社の本番環境のポート)
    ・8080: ○
    ・16000: ×
    ・49151: ×
    ・49152: ×

    パブリッククラウド2
    ・443: ○
    ・xxxx: × (弊社の本番環境のポート)
    ・8000: ×
    ・8080: ○
    ・16000: ×

    この結果から、弊社に原因があるとは思えないのですが、他にどのような原因が考えられるでしょうか?

    2022.02.07

    1
  • 업데이트 된 답글입니다.

    大原

    ↑コメントを修正&追記しました。

    2022.02.08

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    これ以上の調査を行うには、実際のURLや詳細なログデータが必要になるかと思います。
    しかしながら、こちらのCommunityの性質上、個別の情報をやりとりすることができないため、個別の環境によるErrorに対応することができません。
    お手数をおかけいたしますが、担当のパートナー営業にご相談ください。

    2022.02.10

    0
  • 업데이트 된 답글입니다.

    大原

    本件、解決に至りませんでしたが、Callback URL にメッセージが届かないという現象は、原因と考えられることが多数あり何が問題かを調べる術がこちらにはありません。Developerコンソール、管理コンソール等で、Callbackサーバーへの送信エラーのログを参照できるようにして頂くことを切に願います。

    2022.02.28

    0
前の投稿 ユーザー画像の更新日時を取得する方法
次の投稿ダウンロードしたkeynoteがエラーで開かない