如果我使用https访问nginx网站,则可以正常使用,但是使用http,则下载名为“ download”(无任何扩展名)的文件(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;
}
}
curl-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
此外,检查用
—
阿列克谢十大
curl -v http://domain.com
感谢您的回复。我重启了几次(尝试更改部分配置,但无济于事),我的防火墙也还可以。当检查curl时,我得到一个奇怪的响应:▒▒就这样-没有像https那样显示源代码。
—
rzmpl
phpfpm应该已经启动并且正在运行,并且套接字应该存在于/run/php/php7.0-fpm.sock中。
—
Farhan
是的 PHP有效-我认为这不是PHP问题。通过HTTPS进行的所有操作均有效,无论是否为php。但是,如果我输入http://或仅输入域(在这种情况下,它应重定向到https),它只会下载一个称为“下载”的57字节的小文件-Nginx error.log也不显示任何内容。
—
rzmpl