Доброго всем дня! Сейчас в процессе написания модуля для nginx по генерации PDF (https://github.com/undying/nginx-html2x-module/blob/master/src/ngx_http_html2x_module.c#L205) и наткнулся в процессе на странное. Началось с того, что если тестировать локально, то генерация и отдача PDF работает. Если разнести сервер и клиента на разные машины, начинаются проблемы.
В логе нашел следующее: 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter limit 0 2019/11/24 23:22:31 [debug] 9#9: *1 writev: 44540 of 168186 2019/11/24 23:22:31 [debug] 9#9: *1 writev: -1 of 123646 2019/11/24 23:22:31 [debug] 9#9: *1 writev() not ready (11: Resource temporarily unavailable) 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter 000055D3FDBEFF60 2019/11/24 23:22:31 [debug] 9#9: *1 http copy filter: -2 "/html2pdf?dpi=100" 2019/11/24 23:22:31 [debug] 9#9: *1 http finalize request: -2, "/html2pdf?dpi=100" a:1, c:1 2019/11/24 23:22:31 [debug] 9#9: *1 event timer add: 3: 60000:1302169663 2019/11/24 23:22:31 [debug] 9#9: *1 epoll add event: fd:3 op:3 ev:80002005 2019/11/24 23:22:32 [debug] 9#9: *1 http run request: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http writer handler: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http output filter "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 write old buf t:0 f:0 00007FFFC360B460, pos 0000000000000000, size: 1254989623795351808 file: 94368983417552, size: -94368983417552 2019/11/24 23:22:32 [alert] 9#9: *1 negative size buf in writer t:0 r:0 f:0 00007FFFC360B460 0000000000000000-116A9E69E31F8100 000055D3FDBBFF00 94368983417552-0, client: 192.168.1.228, server: , request: "POST /html2pdf?dpi=100 HTTP/1.1", host: "html2x.domain.local" 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: -1 "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http writer output filter: -1, "/html2pdf?dpi=100" Насколько я понял, после первой пачки байт сокет становится занят и запись откладывается, но с наступлением таймера, при повторной попытке записи оказывается, что буфер для чтения пуст. Пока не понял, почему так может быть. Был бы благодарен за любую подсказку. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286312,286312#msg-286312 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru