Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Justicet

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

Recommended Posts

Доброго дня!

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

Смысл такой:

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

#указать имя зоны кеширования и включить
		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 ;
}

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

 

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

 

Судя по всему - где-то в настройках 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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Edited by shtoki

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...