ngx_mruby에서 iOS에 Push 알림을 보았습니다. (Parse.com을 통해)
iOS 푸시 포함
Push를 받는 쪽에 대해서는 문서를 쫓아 갔을 뿐이므로 글머리 기호.
Nginx Subscribe (필기) ngx_mruby에서 외부 HTTPS 요청에 대한 mgem 추가
ngx_mruby에 처음부터 준비되어 있는 샘플의
build_config.rb 에 대해서, 추가한 것은 이들.※ 이번은 약간의 사정(우연히?)로
s/mruby-onig-regexp/mruby-pcre-regexp/ 라고 하는 변경도 했다.그럼 샘플 코드
사용 장소로서는, 뭔가 불편함이나 공격이 있던 타이밍에 사용할 수 있을까라고 생각하고 있었습니다.
그러나, 우선은 간단하게 이 방침.
해보자.
location / {
  mruby_content_handler_code '
    Server = Nginx
    c = Server::Connection.new
    http = HttpRequest.new()
    res = http.post(
           "https://api.parse.com/1/push",
           JSON.generate({
              "channels" => ["Nginx"],
              "data"  => {"alert" => "Your site was visited from #{c.remote_ip} ."}
            }),{
            "Content-Type"           => "application/json",
            "X-Parse-Application-Id" => "Parseのアプリケーションキー",
            "X-Parse-REST-API-Key"   => "ParseのREST APIキー"
            })
    Nginx.errlogger Nginx::LOG_WARN, res["status"]
    Server.echo "reported your access."
  ';
}
브라우저에서 요청함
조금 Docker로 시작한 서버에 브라우저로 리퀘스트. 신고되었다.

리퀘스트 처리중에 동기 처리로 Parse를 두드리고 있으므로, 나름대로 기다리는 것은 (이번은) 어쩔 수 없다고. . .
Nginx 측의 로그는 Parse의 반환이
200 OK임을 기록했습니다.2015/09/02 xx:xx:xx [warn] 1#0: *1 200 OK, client: 192.168.99.1, server: _, request: "GET / HTTP/1.1", host: "192.168.99.100:8080"
푸시 알림 확인
그리고 Push는 왔다.

무언가에 외부에의 요구를 사용한다면, 괜찮은 일 워커 프로세스가 통째로 기다리지 않게 쓰고 싶네요.
추가:
메모리가 무진장하고 외부 API의 응답이 클라이언트에 대해 불필요하다면 더블 포크로 둘러싸자는 손이 있다.
Reference
이 문제에 관하여(ngx_mruby에서 iOS에 Push 알림을 보았습니다. (Parse.com을 통해)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sawanoboly/items/881d1033935c09c0d142텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)