ipv6의 PHP-FPM 업스트림 오류

ipv6의 PHP-FPM 업스트림 오류

방금 새로운 Ubuntu 20.04.2 서버에 PHP7.4-fpm이 포함된 최신 Nginx를 설치했습니다.

WordPress 사이트가 있는 가상 호스트를 추가했는데 정상적으로 로드되지만 nginx 로그에 다음과 같은 오류가 발생하는 것을 발견했습니다.

[error] 183472#183472: *625 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xxx.xxx.xx, server: example.com, request: "GET /some-page-name/ HTTP/1.1", upstream: "fastcgi://[::1]:8001", host: "example.com", referrer: "https://example.com/"

이에 관해 구글링을 하다가 알게 된 사실은두 번째 답변이에ServerFault 스레드그것은 ipv6 주소를 사용하고 있기 때문에 작동하지 않기 때문에 nginx 서버 블록 파일 localhost로 대체하여 문제를 해결할 수 있었기 때문입니다.127.0.0.1fastcgi://[::1]:8001

/etc/nginx/sites-available/example.com.conf나는 다음 줄을 변경 하고 변경했습니다.

fastcgi_pass localhost:8001;

에게:

fastcgi_pass 127.0.0.1:8001;

그리고 같은 댓글에 따르면서버 오류답변, 에서 /etc/nginx/sites-available/default다음 줄을 변경했습니다.

listen 80 default_server;

에게:

listen 0.0.0.0:80 default_server;

그러나 위와 같이 변경하고 nginx 및 php7.4-fpm을 다시 시작한 후 서버 제어판(Virtualmin)에서 PHP 실행 모드를 확인하면 사용 가능한 두 가지 옵션 중 어느 것도 사용되지 FCGId않습니다 .FPM

FPM을 선택하고 저장을 클릭하면 fastcgi_pass 127.0.0.1:8001;nginx 서버 블록 파일의 행이 다시 돌아가고 fastcgi_pass localhost:8001;위의 오류가 다시 표시되기 시작합니다.

listen 0.0.0.0:80 default_server;그러나 nginx 또는 fpm을 다시 시작해도 되돌려지지 않았습니다 .

ipv6 주소 대신 ipv4 주소를 사용하도록 FPM에 지시하려면 어떻게 해야 합니까?

주의나는 in listen = /run/php/php7.4-fpm.sock으로 변경한 다음 위의 단계를 따르려고 시도했지만 도움이 되지 않았고 같은 일이 발생했습니다.listen = 127.0.0.1:8000/etc/php/7.4/fpm/pool.d/www.conf


추신이 문제는 내가 사용한 제어판과 관련이 없습니다. 듀얼 스택 ipv4/ipv6 설정과 함께 PHP-FPM을 사용하려고 할 때 이 문제와 관련된 것으로 보이는 온라인상의 ServerFault 게시물과 여러 포럼 스레드가 있기 때문입니다. 보기에.

관련 정보