Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Зацикленный редирект. #56

Open
cherker opened this issue Feb 19, 2018 · 6 comments
Open

Зацикленный редирект. #56

cherker opened this issue Feb 19, 2018 · 6 comments

Comments

@cherker
Copy link

cherker commented Feb 19, 2018

Здравствуйте.
Используем Ваш модуль, большое спасибо за него.
Но возникает такая проблема:
Без каких-либо причин, некоторые пользователи получают зацикленный редирект, бесконечно.
Выглядит таким образом:

217.118.79.39 - - [19/Feb/2018:05:28:43 +0100] "GET / HTTP/1.1" 200 990 domain.ru "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C153 Safari/604.1" "-"
217.118.79.39 - - [19/Feb/2018:05:28:43 +0100] "GET /?test_42=1 HTTP/1.1" 301 178 domain.ru "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C153 Safari/604.1" "-"
217.118.79.39 - - [19/Feb/2018:05:28:43 +0100] "GET / HTTP/1.1" 200 990 domain.ru "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C153 Safari/604.1" "-"
217.118.79.39 - - [19/Feb/2018:05:28:44 +0100] "GET /?test_42=1 HTTP/1.1" 301 178 domain "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C153 Safari/604.1" "-"

И так бесконечно.
На стороне пользователя все проверено, все в порядке.
На том же устройстве, если сменить IP - все в порядке.
Если другому устройству раздать проблемный IP - проблема остается.
Судя по всему привязано именно к IP.

Конфиг:

testcookie off;
testcookie_name FOR;
testcookie_secret secret;
testcookie_session $remote_addr;
testcookie_arg test_42;
testcookie_max_attempts 2;

#setting fallback url
testcookie_fallback http://$host/cookies.html;

testcookie_get_only on;

testcookie_redirect_via_refresh on;
testcookie_refresh_encrypt_cookie on;
testcookie_refresh_encrypt_cookie_key random;
testcookie_refresh_encrypt_cookie_iv random2;
testcookie_refresh_template '<html><head><meta charset="utf-8"></head><noscript><center>Вам нужно включить поддержку <a href="https://yandex.ru/support/common/browsers-settings/browsers-java-js-settings.html">js</a> в браузере, чтобы посетить данный сайт.</center></noscript><body><script type=\"text/javascript\" src=\"/aes.min.js\" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("$testcookie_enc_key"),b=toNumbers("$testcookie_enc_iv"),c=toNumbers("$testcookie_enc_set");document.cookie="FOR="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";location.href="$testcookie_nexturl";</script></body></html>';

location = /aes.min.js {
    gzip on;
    gzip_min_length 1000;
    gzip_types text/plain;
    root /usr/share/nginx/html;
 }

location = /cookies.html {
    root /usr/share/nginx/html;

Прошу помощи, сами разобраться не можем уже неделю.
CentOS Linux release 7.3.1611

@hroost
Copy link

hroost commented Feb 19, 2018

А сменить testcookie_secret пробовали?
Я сейчас как раз изучаю поведение модуля в одном кейсе, там с некоторыми testcookie_secret все пользователи получают редирект loop из-за не правильно генерирующейся куки. Смена secret на любое другое значение помогает.

@kyprizel
Copy link
Owner

SlowAES патчили?

@cherker
Copy link
Author

cherker commented Feb 20, 2018

Сменили testcookie_secret
Также еще раз пропатчили SlowAES

Проблема пока больше не наблюдается, что именно помогло не ясно.
Протестируем еще пару дней, если все будет в порядке, можно будет закрывать тему как решенную. Спасибо за помощь.

@duy13
Copy link

duy13 commented Feb 21, 2018

Just remove: expires=Thu, 31-Dec-37 23:55:55 GMT;

@Maximbl4m
Copy link

Maximbl4m commented Oct 10, 2020

У меня так же наблюдаются проблемы с определённым testcookie_secret. Пока закономерности найти не могу, но могу привести пример плохого и хорошего значения:
testcookie_secret 63c76c6ae020c070b1646aac00caf3d4d4d51ef9ab8e1bb6851535cbf002356b; - плохое значение
testcookie_secret 1ed17d9ec74ff3d08b37a1905bd808b9448457335fadc1c4801d980733632784; - хорошее значение
UPD: Моё предположение, что в конце строки сочетание двух нулей является виновником постоянного редиректа. "002356b" если поменять на "012356b" или "102356b" то проблема устраняется. Однако первая пара нулей никак не влияет на это всё...

@kyprizel
Copy link
Owner

Проверьте версию js скрипта.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants