svisch
@svisch

Как правильно настроить виртуальный хост nginx для этого url?

Здравствуйте. Столкнулся с проблемой (с моей точки зрения) в настройке nginx. Суть в следующем.
Переношу сайт на друпале 8 на vds с обычного хостинга. На хостинге все работало исправно. Когда очичаю кэш браузера из админки в адресной строке браузера при таком действии имеем
site.ru/admin/flush?token=SCRSNrTlLz3owG6oXxZOw-UXURZC03d8JYsCfWtKWJ0
. После переезда при попытке очистить кэш сайт выдает ошибку доступа (Доступ запрещён. Вы не авторизированы для доступа к этой странице.) в то время как я авторизован сайте.
Догадываюсь, что в nginx.conf не указано правило для этого url. Вообще запутался с этими location{}. Ниже привожу блоки server{} настроек для этого виртуального хоста.
И еще, пользуясь случаем спецы может глянули бы мои настройки, что в них можно оптимизировать!? Например возможно ли для всех виртуальных хостов одни и те же настройки вынести в общий блок? ну и подобные моменты интересуют. Сильно не пинайте, nginx в первый раз ставлю.
server {
  listen *:80;
  server_name site.ru www.site.ru;
  root /var/www/html/site.ru/web;
  index index.php;
  location / {
  try_files $uri $uri/ /index.php?q=$uri$args;
  }
  return 301 https://$host:443$request_uri;
    location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  fastcgi_buffer_size 128k;
  fastcgi_buffers 256 16k;
  fastcgi_busy_buffers_size 256k;
  fastcgi_temp_file_write_size 256k;
  include fastcgi_params;
  }
  }

  server {
	listen 443 ssl;
	server_name site.ru www.site.ru;
	root /var/www/html/site.ru/web;
	index index.php;
	 ssl on;
	ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem;
	 ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;
	location / {
	try_files $uri $uri/ /index.php?q=$uri$args;
	}

	location ~ \.php$ {
	try_files $uri =404;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_param SCRIPT_NAME $fastcgi_script_name;
	fastcgi_buffer_size 128k;
	fastcgi_buffers 256 16k;
	fastcgi_busy_buffers_size 256k;
	fastcgi_temp_file_write_size 256k;
	include fastcgi_params;
	}
	}
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ответы на вопрос 1
svisch
@svisch Автор вопроса
Заменил

location / {
try_files $uri $uri/ /index.php?q=$uri$args;
}

на

location / {
try_files $uri /index.php?$query_string;
}

Все заработало.

Но жду критики и советов по nginx.conf
Буду очень благодарен!!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы