Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

IPB 3.4.6 - проблема с входом в форум

Опубликовано:

Доброго дня!

Сильно не пинайте - и поиском пользовался, и пытался рассмотреть возможности аналогичных ошибок, но...

Смысл такой:

Вследствие проблем с ФС в дата-центре убился мой ВДС, мне соответсвенно предоставили новый, однако пришлось устанавливать Апач + Мускул + нгинкс + пшп самостоятельно, ну и настраивать. Однако это вроде как не проблема - уже не раз это делал, сохранил настроечные файлы как образцы и т.п. Тем более, что зеркало форума крутится на домашнем ноуте.

И, неожиданно, столкнулся с проблемой невозможности войти в форум: вводишь пароль и тебя обратно возвращает на головную страницу форума (где ссылка ввести данные / зарегистрироваться) - при этом в АЦ вхожу как положено (без косяков).

Уже голову сломал на предмет из-за чего это! И проверял подключенные модули, и настраивал/перенастраивал куки и т.п.

Что еще предложите в виде варианта? может какой файл у меня битый?

Однако все копировалось с зеркала и на локалхосте вхожу в аккаунт нормально.

Пока никаких параноидальных настроек в Апач и нгникс не вносилось...

З.Ы. при этом регистрация нового пользователя проходит нормально. Если ввожу заведомо неверные данные - отфутболивает как положено. Изменение пароля юзера со всеми хешами не помогает - не происходит вход в аккаунт.

Рекомендованные сообщения

Опубликовано:

У вас не работают cookies, браузер не получает куки с сервера. В настройках кукисов очистите все, возможно что-то не правильно вписали, тем более домен у вас кириллический. С ац в этом плане проблем нету, там авторизация происходит по сессии которая передается в адресной строке.

Опубликовано:
  • Автор

До падения VPS (так же с кириллическим доменом) все работало идеально.

Куки были прописаны как:

.xn--3-9sbb9af2c.xn--p1ai

что соответсвует моему домену.

При очищении всех полей настроек кукисов - в браузере ничего не устанавливается. При настройках:

domen = .xn--3-9sbb9af2c.xn--p1ai 
path= /forum/

данные куки прописываются в браузере, но авторизоваться все равно не возможно.

 

Есть еще какие-либо варианты? Может что-то на промежуточном этапе (настройки Апача или нгникс`а) накосячено?

Опубликовано:

данные куки прописываются в браузере, но авторизоваться все равно не возможно.

Для начала они должны хотябы устанавливаться. У меня браузер их по прежнему не получает, я не вижу идентификатор сессии. Когда будут - тогда уже можно идти дальше. Да, можно авторизироватся по ключу авторизации, который может быть правильно устанавливается при авторизации, но в нормальных условиях обязательно должен быть ид сессии.

 

Может что-то на промежуточном этапе (настройки Апача или нгникс`а) накосячено?

Если честно, никогда не сталкивался с проблемами кукисов из-за настроек сервера. Кукисы передаются в заголовках, теоретически это может быть, например проксирующий сервер который не передает клиенту куки от скрипта, но из-за апача или nginx-а ничего такого не припомню.

 

Попробуйте проверить работу кукисов вне окружения форума, создайте файл который устанавливает любую куку:

 

<?php
setcookie('test', 'test');
?>

Опубликовано:
  • Автор

Если честно, никогда не сталкивался с проблемами кукисов из-за настроек сервера. Кукисы передаются в заголовках, теоретически это может быть, например проксирующий сервер который не передает клиенту куки от скрипта, но из-за апача или nginx-а ничего такого не припомню.

ну нгник`с-то вроде как прокси сервер. Завтра отключу его, настрою апач напрямую - посмотрим что выйдет.

 

Попробуйте проверить работу кукисов вне окружения форума, создайте файл который устанавливает любую куку:

<?php
setcookie('test', 'test');
?>

создал файл с этим содержимым в корне сайта (выше папки /forum) - ничего не отдал при обращении к этому файлу. Т.е. я ничего не нашел в перечне куки браузера.

Опубликовано:

Поставьте apache чтобы слушал внешний ип адрес, и обратитесь к скриптам через порт на котором находится апач, скорее всего это будет 8080 - site:8080/test.php

Опубликовано:
  • Автор

Поставьте apache чтобы слушал внешний ип адрес, и обратитесь к скриптам через порт на котором находится апач, скорее всего это будет 8080 - site:8080/test.php

Перевел апач на внешний адрес. Получил что хотел:

post-42804-0-98000200-1403941045_thumb.png

После чего перенастроил апач слушать порт 80 и получил нормальную работу форума:

post-42804-0-59403500-1403941269_thumb.png

Вывод: косяк в настройках нгинкса - будем мучать.

Опубликовано:
  • Автор

Разобрался с настройками нгинкса.

Дело было в настройках кэширования ответов от Апача. Были применены следующие настройки:

#указать имя зоны кеширования и включить
		proxy_cache cacheone;
# Кешировать указанные коды ответов 5 минут
		proxy_cache_valid 200 301 302 304 5m;
# Ключ по которому сохраняются и берутся данные из кеша
		proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
# Защита от раздачи одинаковой куки в кешированном ответе
		proxy_hide_header "Set-Cookie";
# Игнорировать параметры кеша заданные бекэндом
		proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
# Указывает в каких случаях клиенту можно отдать несвежий ответ из кеша
		proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;

Эти настройки были внедрены в location, в котором описывалось проксирование запросов на Апач. И по какой-то причине при этих настройках куки не передавались браузеру и не устанавливались.

Хотя везде описывается, что с данными настройками можно кэшировать динамические страницы (например тут), но у меня почему-то этот финт не прошел.

На данный момент кэширование отключено.

Если кто подскажет в чем проблема - буду очень признателен.

 

Еще покурив мануалы нгинкса решил перестроить локацию проксирования до такого вида:

		location ^~ /forum/ {
		proxy_pass http://localhost:8080;
		proxy_redirect http://localhost:8080/ /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header X-Real-IP $remote_addr;
	}

Описание локаций взято отсюда. Теперь, как понимаю, все запросы вида "сервер/forum/*" будут проксироваться на Апач.

Головная страница проекта обрабатывается нгинксом (т.к. там сплошная статика) через локацию:

	location = / {
		root   $root_path;
		index index.html index.htm ;
}

Опубликовано:
  • Автор

В принципе так я и думал http://phpclub.ru/ta...37/#post-619944

 

Вот- вот. Только я совсем отключил кэширование (временно, пока не найдется выход из положения).

Интересно как теперь быть, ведь директива " proxy_hide_header "Set-Cookie"; " как раз предотвращала выдачу одинаковой куки разным пользователям?

Задам сей вопрос на официальном сайте nginx - посмотрим, что там ответят/порекомендуют.

По результатам отпишусь сюда - вдруг кому потребуется...

  • 3 года спустя...
Опубликовано:

Добрый вечер!

 

Можно обновлю тему,только у меня в корне обратное, не работает кнопка "Выход"

 

При нажатии страница обновляется но ничего не происходит.

 

Чищу кэш браузера, захожу-выхожу корректно ровно один раз, затем снова захожу и кнопка выход уже не работает.

 

Причем сломалось сразу на двух форумах, боевой и тестовый расположенных на одном хостинге.

 

Ответ от ТП хостинга:

 

Судя по всему - где-то в настройках CMS настроено кеширование страниц сайта на стороне браузера (посетителя).

Так как в ответе сервера присутствует строка:

Last-Modified: Wed, 28 Mar 2018 17:41:14 GMT

Expires: Wed, 28 Mar 2018 17:41:14 GMT

Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0

 

Получается что при первом входе-выходе все работает правильно.

Как только кеш браузера согласно этих заголовков заполнился данными - он получив от сервера такие же как и в прошлый раз заголовки просто берет тело страницы с диска не дожидаясь пока сервер отправит что-либо ещё.

 

Если подобная настройка в админке и похоже ли это на кэш?

 

Спасибо!

post-57522-0-14737000-1522262581_thumb.png

Опубликовано:

Еще дополнение, обнаружил что в Internet Explorer, в Гугл хром Версия 49.0.2623.112 корректно выходит и заходит, в более новой версии гугл хром не заходит, в мозиле 45-ой версии тоже нет, опере - нет.

 

При нажатии на Выход, перебрасывает на главную страниу, но пользователь так же остается залогининым.

 

Получается не во всех браузерах работает.

Изменено пользователем shtoki

Опубликовано:

Получается не во всех браузерах работает.

Не думаю, что проблема в форуме. У других юзеров как обстоят дела?

Опубликовано:

Не думаю, что проблема в форуме. У других юзеров как обстоят дела?

 

У других юзеров было тоже самое.

Вы правы, проблема была на стороне хостинга, по ошибке включили кеширование динамически генерируемого контента.

Сейчас все ок!

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.