nginx php 파일 다운로드

한 가지 주의할 점은 이 해결 방법을 사용하면 try_files 사용하여 PATH_INFO 공격을 피할 수 있다는 것입니다. 이러한 공격을 완화하는 다른 방법은 위의 PHP에 제어되지 않은 요청 전달을 참조하십시오. 이것이 작동하지 않고 버추얼 박스의 가상 컴퓨터에서 NGINX를 실행하는 경우 문제를 일으키는 sendfile()일 수 있습니다. sendfile 지시문에 주석을 달거나 „끄기”로 설정하기만 하면 됩니다. 지시문은 nginx.conf 파일에서 찾을 가능성이 높습니다.: 때로는 브라우저 캐시를 지우는 것만큼 간단할 수 있습니다. 일부 잘못 구성이 있었고 실제로 파일을 다운로드한 경우 구성을 수정 한 후 브라우저가 캐시 된 다운로드 사용을 중지하도록 말해야합니다. NGINX 구성은 개별 사이트에 고유한 사이트 구성 파일과 개별 사이트에서 재사용할 수 있는 공통 또는 „전역” 구성 설정으로 나뉩니다. 나는 미래의 경우이 문제를 해결하는 방법에 대해 읽어야 할 것이다. 이상적으로는 랩 서버의 각 응용 프로그램에 대해 별도의 conf 파일을 가질 수 있기를 원합니다… DNS 이름을 IP에 연결하지 않으면 랩에서 현실적으로 발생하지 않기 때문입니다. 많은 가이드가 귀하의 정보를 얻기 위해 절대 경로에 의존하는 것을 좋아합니다.

이것은 PHP 블록에서 일반적으로 보입니다. 리포지토리에서 NGINX를 설치하면 일반적으로 fastcgi_params 포함할 수 있는 것으로 나아요. 당신의 구성에. 이것은 일반적으로 /etc /nginx / 주위에 NGINX 루트 디렉토리에있는 파일입니다. 내 조언은 그들이 무엇을 의미하는지 기본적인 이해를 얻기 위해 nginx config 지시문을 읽으려고하는 것입니다. 나는 여기에 비슷한 질문을 발견 : https://stackoverflow.com/questions/25591040/nginx-serves-php-files-as-downloads-instead-of-executing-them 그러나 불행히도 대답은 도움이되지 않습니다. 그래서 여기에 내 이야기를 간다. 필요한 편집을 한 후에는 다음 줄로 NGINX 및 PHP를 다시 시작합니다. sudo systemctl nginx.service를 다시 시작하려면 /var/www/html 파일 경로에서 phpinfo.php 파일을 만들어 PHP 구성을 테스트합니다. sudo vim /var/www/html/phpinfo.phpAdd 파일 내부에 다음 을 저장 하 고 저장 : 설정을 테스트하려면 웹 브라우저에서 /phpinfo.php 다음에 서버 IP로 이동합니다. 나는 듣기 소유자와 듣기 그룹이 nginx가 실행되는 동일한 사용자인지 확인하려고 노력했습니다. 또한 „127.0.0.1:9000″을 사용하는 것은 유닉스 소켓을 사용하는 것만큼 좋지 않다는 것을 알고 있습니다.

하지만 지금은 php7-fpm에 대 한 기본 설치 설정을 사용 하려고. (진실은, 나는 또한 그것을 변경하는 방법을 모르겠어요) 예를 들어 구성에 구문 실수를 배치하고 구문 실수를 잡는 경우 nginx -t를 실행합니다. 냄새. 이 경우 모든 것을 PHP에 전달합니다. 왜? 아파치는이 작업을 수행 할 수 있습니다, 하지만 당신은 할 필요가 없습니다.