Licha Morada> Если сайту требуется знать IP настоящего клиента, то ему придётся
> кооперироваться с прокси и доверять ему, читая хедер X-Forwarded-For
> и/или Forwarded.
> Первый способ, ИМХО. более распостранён
> https://en.wikipedia.org/wiki/X-Forwarded-For
А если "придется...доверять", то это чем-то плохо в плане безопасности, или как?
>> Добавил в конфиг еще 2 строки, и получилось нижеследующее.
>> Однако IP все равно от прокси. Где же я ошибаюсь?
> В концепции.
Понятно :) Ну, раз моя концепция плоха, то покажу ее в действии на реальном сервере, надеясь, что вы ее, в виде конфига, подправите.
К примеру, есть такой сайт - http://74.118.150.6:8901/
Если зайти на него, то в самом низу, где черные поля, он обязательно покажет ваш IP.
На своем прокси-сервере 185.66.13.169 смастерил такой фрагмент конфига Nginx -
server {
listen 185.66.13.169:80; # IP [и порт] реверсного прокси-сервера
location / {
proxy_pass http://74.118.150.6:8901; # URL [и порт] реального веб-сервера proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect default;
proxy_set_header Host $http_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;
set_real_ip_from 185.66.13.169;
real_ip_header X-Real-IP;
}
}
Но поскольку моя концепция плоха, то при заходе на этот прокси он каждый раз показывает IP не посетителя, а IP самого прокси, т.е. 185.66.13.169.
Подскажите, плиз, как нужно подправить эту концепцию в конфиге, чтобы он показывал реальный IP посетителя? ;)
Самому с этой задачей мне не удается справиться, несмотря на вашу подсказку на вики.