якщо я заходжу на свій сайт nginx з https, він працює, але за допомогою http він завантажує файл під назвою "скачати" (без розширення взагалі), 57 байтів і відкриває його в блокноті тощо.
Ось мій конфігурація vhost:
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, налаштований брандмауер чи щось інше
—
Олексій
Також перевірте
—
Олексій
curl -v http://domain.com
Дякую за вашу відповідь Я кілька разів перезапустив (я спробував змінити частини конфігурацій, але нічого не допомогло), мій брандмауер також добре. Під час перевірки завиткою я отримую дивну відповідь: ▒▒ тільки це - не показує вихідний код, як це робиться з https.
—
rzmpl
phpfpm має бути запущений і працює, а сокет повинен існувати в /run/php/php7.0-fpm.sock.
—
Фархан
Це робить. PHP працює - я не думаю, що це проблема PHP. Все над HTTPS працює, незалежно від того, php це чи ні. Але якщо я ввожу http: // або просто домен (у такому випадку його слід переспрямувати на https), він просто завантажує невеликий файл у 57 байт під назвою "завантажити" - Nginx error.log теж нічого не показує.
—
rzmpl