Facebook Messenger는 Let's Encrypt에서도 k

LINE BOT에서는 Let's Encrypt를 사용할 수 없다는 이야기였기 때문에 Facebook Messenger에서는 어떨까, 라고 시험해 보았다.
결론적으로는 제목대로 Let's Encrypt에서도 문제없이 움직입니다.
이하, 간단히 확인 순서 등

확인 환경


  • Amazon Linux AMI 2016.03.0
  • nginx/1.8.1
  • PHP 5.5.33
  • (과거에 취득한 채 떠들썩한 도메인)

  • 1. 사전 준비


  • EC2 인스턴스 시작(SecurityGroup에서 80, 443번 포트 열기)
  • 인스턴스에 ElasticIP 할당 및 DNS 구성
  • nginx, PHP, PHP-FPM 등을 yum으로 설치
  • Let's Encrypt에서 SSL 인증서 발급 (여기서 조금 더 자세히)
  • # install
    sudo git clone https://github.com/letsencrypt/letsencrypt
    cd letsencrypt
    # confirm
    ./letsencrypt-auto --help
    
    # 事前準備:WebサーバのSTOP(サーバの存在確認に80番ポートを使うので一時的に止める必要あり)
    # 証明書の発行
    sudo ./letsencrypt-auto certonly -a standalone -d ドメイン名 --debug
    
    # 発行に成功した場合下記パスに秘密鍵とサーバ証明書と中間証明書が結合されたファイルが出力されているのでnginxのSSL設定を変更
    # /etc/letsencrypt/live/ドメイン名/privkey.pem
    # /etc/letsencrypt/live/ドメイン名/fullchain.pem
    

    이후는 htps : //에서 ゔぇぺぺrs. 후세보오 k. 코 m / 드 cs / 메쓱 게 r p p t 후 rm / 쿠크 cks rt (공식)의 순서에 따라 작업

    2.Facebook 페이지 만들기



    Create a new Facebook App and Page or use existing ones

    그래서 새로운 FacebookPage 만들기

    3.Webhook 설정



    콜백을받는 URL을 다음과 같이 설정하십시오.
    https://$your_domain/webhook
    

    서버의 해당 경로에 아래와 같은 스크립트를 둡니다.
    <?php
    if($_GET['hub_verify_token'] == 'hogefugapiyo'){
        echo $_GET["hub_challenge"];
    }else{
        echo 'Error, wrong validation token';
    }
    

    앱 설정 화면의 Webhook 설정에서 Callback URL과 Verify Token을 입력하고 Verify and Save를 누릅니다.
    인증에 성공하면 다음과 같이 'Complete'라고 표시됩니다.



    4.Access Token 취득



    인증 성공 후 2단계에서 만든 페이지를 선택하면 Access Token을 얻을 수 있습니다.



    5.BOT 시작


    curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=<token>"
    
    <token>를 4단계에서 얻은 Access Token으로 다시 작성하여 실행하면 BOT가 시작되어 FacebookPage 업데이트를 받을 수 있습니다.

    6. 메시지 송수신



    이 기사텍스트 전송을 복사하여 콜백을받는 URL에 설치

    7. 동작 확인





    오! ! ! ! !

    8. 덤



    자체 인증서로 실험
    → 3단계의 Verify and Save 타이밍에서 "SSL certificate problem: self signed certificate"
    → 과연 자기 증명서는 NG

    9.덤(2)



    BOT가 심사에 통과하기 전의 상태라고 개발자 이외에 대답할 수 없기 때문에, BOT를 만들어 손쉽게 아는 사람에게 도어링하고 싶은 사람은 「역할」로부터 「테스트 담당자」를 추가하는 것이 좋다 생강.

    좋은 웹페이지 즐겨찾기