взаимодействие Nginx с fcgi БЕЗ пхп-файлов

greenwar nginx-forum на forum.nginx.org
Пт Мар 27 11:11:01 UTC 2020


Всем привет )
тут запускаю fcgi-демона, который тупо ловит строку текста от Nginx, а в
ответ шлёт ему соответствующую HTML-строку...
и во всех конфигах, что я нашёл в гугле, фигурируют пхп-файлы, прям
везде...
Но у меня нет пхп-файла. У меня висит демон и через сокет ловит строку.
И эту строку я вывожу в линух-консоль (для тестов) и вижу такой текст:
(тут очевидно BB-кодов нет, так что сорри, как есть...):

[I] Accepted connection on descriptor 5(host=127.0.0.1, port=41892)
count = 872
data:;
      QUERY_STRINGREQUEST_METHODGET
                                   CONTENT_TYPECONTENT_LENGTH
                                                             SCRIPT_NAME/
                                                                        
REQUEST_URI/
DOCUMENT_ROOT/usr/local/www/sites/test1.rSERVER_PROTOCOLHTTP/1.1REQUEST_SCHEMEhttpGATEWAY_INTERFACECGI/1.1
                                                                            
                             SERVER_SOFTWAREnginx/1.14.2
                                                                            
                                                          
REMOTE_ADDR127.0.0.1
                                                                            
                                                                            
  REMOTE_PORT53664
                                                                            
                                                                            
                      SERVER_ADDR127.0.0.1
    SERVER_PORT80
                SERVER_NAMEtest1.ruREDIRECT_STATUS200  HTTP_HOSTtest1.ru
HTTP_CONNECTIONkeep-alive      
HTTP_CACHE_CONTROLmax-age=0HTTP_UPGRADE_INSECURE_REQUESTS1iHTTP_USER_AGENTMozilla/5.0
(X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/80.0.3987.149 Safari/537.36
HTTP_ACCEPT_ENCODINGgzip,
deflate#HTTP_ACCEPT_LANGUAGEru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
4096
count = -1
return false
count = 0
[I] Close 5
[I] Accepted connection on descriptor 5(host=127.0.0.1, port=41894)
count = 832
data:▒
      QUERY_STRINGREQUEST_METHODGET
                                   CONTENT_TYPECONTENT_LENGTH

                                                            
SCRIPT_NAME/favicon.ico

                                                                            
       REQUEST_URI/favicon.ico

DOCUMENT_ROOT/usr/local/www/sites/test1.rSERVER_PROTOCOLHTTP/1.1REQUEST_SCHEMEhttpGATEWAY_INTERFACECGI/1.1
DOCUMENT_URI/favicon.ico
                                                                            
                             SERVER_SOFTWAREnginx/1.14.2
                                                                            
                                                          
REMOTE_ADDR127.0.0.1
                                                                            
                                                                            
  REMOTE_PORT53664
                                                                            
                                                                            
                      SERVER_ADDR127.0.0.1
    SERVER_PORT80
                SERVER_NAMEtest1.ruREDIRECT_STATUS200  HTTP_HOSTtest1.ru
HTTP_CONNECTIONkeep-alive
                       
HTTP_PRAGMAno-cachHTTP_CACHE_CONTROLno-cacheiHTTP_USER_AGENTMozilla/5.0
(X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/80.0.3987.149 Safari/537.36
                                                                            
                                                                            
                                  
'HTTP_ACCEPTimage/webp,image/apng,image/*,*/*;q=0.8
HTTP_ACCEPT_ENCODINGgzip,
deflate#HTTP_ACCEPT_LANGUAGEru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
4096
count = -1
return false
count = 0
[I] Close 5


ну вот к этой строке у меня и возникают вопросы...
1. как видно, тут ДВАЖДЫ практически одно и то же (port=41894 - порт разный
2 раза)
это 2 запроса делает браузер, или Nginx, или мой демон?

2. нет пробела между названием переменной и значением

3. а тут ещё и переноса строк нет:
HTTP_PRAGMAno-cachHTTP_CACHE_CONTROLno-cacheiHTTP_USER_AGENT

4. подразумевается эти параметры обрабатывать регекспом?

5. мне столько параметров не надо, как убрать половину?

6. ОТВЕТ, который я пытаюсь записать обратно в сокет не даёт результата... Я
шлю буквально следующее:
HTTP/1.1 200 OK\r\nServer: maputa\r\nContent-Type:
text/html\r\nContent-Length: 7\r\n\r\nWisdom\r\n\r\n 

Прошу знающих поделиться мудростью )

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,287478,287478#msg-287478



Подробная информация о списке рассылки nginx-ru