referer https->http
VovansystemS
vovansystems на gmail.com
Пн Июл 13 12:53:31 UTC 2015
> А можете подсказать как это реализовать?
а Вы не могли бы ещё раз подробно рассказать как сейчас у Вас всё
настроено и как оно работает?
чтобы лучше понять проблему, я поднял тестовые конфигурации вида:
srv1:443 - он перенаправляет только специальный ури на http с кодом 301
server {
listen 443 ssl spdy;
[...]
location = /x.php {
return 301 http://srv1/x.php;
}
}
srv1:80 - генерирует php файл, который показывает переменные массива
$_SERVER (нас интересует HTTP_REFERER):
server {
listen 80;
server_name srv1;
root /www/srv1/public_html/;
set $sock unix:/www/srv1/socket.sock;
[...]
location = /x.php {
try_files $fastcgi_script_name =404;
fastcgi_pass $sock;
}
}
cat x.php
<pre><?php print_r($_SERVER); ?></pre>
srv2:80 - здесь лежит тестовая ссылка в фале test.html вида <a
href="https://srv1/x.php">x.php</a>
теперь я открываю http://srv2/test.html и нажимаю на ссылку https://srv1/x.php
srv1 отвечает кодом 301 с заголовком Location: http://srv1/x.php
браузер делает туда запрос всё с тем же оригинальным Referer:
http://srv2/test.html
и мне показывают страницу вывода моего скрипта, который содержит строчку:
[HTTP_REFERER] => http://srv2/test.html
он же оригинальный реферер.
> Соответственно на http не поступает оригинальный реферер (тот который
> приходит на https).
> Нужно его как-то получать в http запросах уже после редиректа.
т.е. у меня не получилось воспроизвести проблему
Подробная информация о списке рассылки nginx-ru