https로 nginx 사이트를 방문하면 작동하지만 http를 사용하면 "다운로드"(확장자 없음), 57 바이트 파일을 다운로드하고 메모장 등으로 열면 횡설수설입니다.
내 호스트 설정은 다음과 같습니다.
server {
server_name www.domain.com domain.com;
listen 80;
return 301 https://domain.com$request_uri;
}
server {
server_name www.domain.com
listen 443 ssl;
/* SSL Stuff */
return 301 https://domain.com$request_uri;
}
server {
server_name domain.com;
index index.php index.html index.htm;
listen 443 ssl;
root /usr/share/nginx/domain.com;
/* SSL Stuff */
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\. {
deny all;
}
}
컬 -v :
curl -v http:/domain.com *
Rebuilt URL to: http://domain.com/ *
Hostname was NOT found in DNS cache *
Trying 175.*.*.*... *
Connected to domain.com (175.*:*:*) port 80 (#0)
> GET / HTTP/1.1 > User-Agent: curl/7.38.0
> Host: domain.com > Accept: */*
> * Connection #0 to host domain.com left intact
▒▒
이 구성은 정상입니다. nginx, 방화벽 구성 또는 기타를 복원했는지 확인하십시오
—
Alexey Ten
또한, 확인
—
알렉세이 텐
curl -v http://domain.com
답장을 보내 주셔서 감사합니다. 나는 여러 번 다시 시작했다 (구성의 일부를 변경하려고 시도했지만 아무런 도움이되지 않았다). 내 방화벽도 괜찮다. curl로 확인할 때 이상한 응답을 얻습니다. ▒▒ 이것 만-https와 마찬가지로 소스 코드를 표시하지 않습니다.
—
rzmpl
phpfpm이 시작되어 실행 중이어야하며 소켓은 /run/php/php7.0-fpm.sock에 있어야합니다.
—
Farhan
그렇습니다. PHP 작동-PHP 문제라고 생각하지 않습니다. php인지 여부에 관계없이 HTTPS를 통한 모든 것이 작동합니다. 그러나 http : // 또는 도메인 (이 경우 https로 리디렉션해야 함)을 입력하면 "download"라는 57 바이트 작은 파일을 다운로드합니다. Nginx error.log도 아무것도 표시하지 않습니다.
—
rzmpl