Кажется, весь веб-сайт (магазин Magento 2) работает хорошо, а серверная часть - нет.
Серверная часть находится по адресу: url.com/admin
.
Остальная часть магазина с url.com и всеми категориями url.com/cat1/subcat1
работает нормально.
В моем браузере (хром) я получаю: ERR_TOO_MANY_REDIRECTS
Ничего в журнале ошибок NGINX и 7 раз 302 в журнале доступа:
"GET / admin / admin / index / index / key / 1d0cb4d5cebce23da3792027d3ec6f54 / HTTP / 1.1" 302
admin и index встречаются дважды - не уверены, будет ли это индикатором?
Это моя конфигурация nginx для этого виртуального хоста (в основном официальная + перенаправление с 80 на 443 + некоторая блокировка для ботов):
server {
listen 80;
server_name url.com www.url.com;
location / {
return 301 https://www.url.com$request_uri; # enforce https
}
}
server {
set $MAGE_ROOT /var/www/html/url.com/www.url.com;
listen 443 ssl;
ssl on;
ssl_certificate /home/secuuser/ssl_certificate/url.com.bundle.crt;
ssl_certificate_key /home/secuuser/ssl_certificate/url.com.priv.key;
server_name www.url.com;
access_log /var/log/nginx/url.com_access.log;
error_log /var/log/nginx/url.com_error.log;
root $MAGE_ROOT/pub;
index index.php;
autoindex off;
charset UTF-8;
error_page 404 403 = /errors/404.php;
#add_header "X-UA-Compatible" "IE=Edge";
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP entry point for main application
location ~ (index|get|static|report|404|503)\.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_buffers 1024 4k;
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=18000";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/xml+rss
image/svg+xml;
gzip_vary on;
}
Я видел множество подобных проблем здесь и в Интернете в целом и пробовал некоторые. Но мне не удалось применить полученные знания для решения моего дела.
Эта ошибка обычно означает, что где-то в вашей конфигурации есть круглое перенаправление - перенаправление на самого себя, например admin -> admin вызовет бесконечный цикл, поэтому ваш браузер обнаружит это и выдаст ошибку.
Я бы начал с небольшого упрощения этой конфигурации nginx. Например, у вас есть
server {
listen 80;
server_name url.com;
return 301 https://www.url.com$request_uri;
}
server {
set $MAGE_ROOT /var/www/html/url.com/www.url.com;
listen 80;
#server_name url.hammer-loesungen.de;
server_name www.url.com;
return 301 https://www.url.com$request_uri;
}
Может быть установлено как:
server {
listen 80;
server_name url.com www.url.com;
return 301 https://www.url.com$request_uri;
}
Я лично использую следующее:
server {
listen 80;
server_name url.com www.url.com;
## Redirect to HTTPs
location / {
return 301 https://$host$request_uri; # enforce https
}
}
Пройдите через конфигурацию и удалите все, что вам не нужно, для простоты слейте повторяющиеся элементы по тем же правилам. Если после этого повторное перенаправление все еще продолжается, попробуйте выполнить отладку с помощью curl:
curl -kvv http://url.com/admin
curl -kvv https://url.com/admin
И так далее для всех поддоменов.