🛡️ Как отобразить удаленный адрес с помощью Nginx |

🛡️ Как отобразить удаленный адрес с помощью Nginx

Мануал

Давным-давно я описывал, как проверить внешний IP-адрес, поэтому сегодня я покажу удаленный адрес с помощью веб-сервера Nginx.

⬇ Как проверить внешний IP-адрес с помощью службы DNS

Используйте следующую конфигурацию виртуального хоста, чтобы просто возвращать удаленный адрес в теле ответа.

server {
  server_name _;
  location / {
    default_type text/plain;

    set $response_body                   "X-Real-IP:          $remote_addr\n";

    if ($http_x_forwarded_for) {
      set $response_body "${response_body}X-Forwarded-For:    $http_x_forwarded_for\n";     
    }

    if ($http_x_forwarded_proto) {
      set $response_body "${response_body}X-Forwarded-Proto:  $http_x_forwarded_proto\n";
    }

    if ($http_x_forwarded_host) {
      set $response_body "${response_body}X-Forwarded-Host:   $http_x_forwarded_host\n";
    }

    if ($http_x_forwarded_server) {
      set $response_body "${response_body}X-Forwarded-Server: $http_x_forwarded_server\n";
    }

    return 200 $response_body;
  }
}

Используйте браузер или утилиту curl для прямой проверки IP-адреса.

X-Real-IP:          172.16.0.111

Используйте браузер или утилиту curl для проверки IP-адреса через NAT. Обратите внимание, что удаленный адрес будет указывать на машину NAT.

X-Real-IP:          172.16.0.1

Используйте браузер или утилиту curl для проверки IP-адреса через прокси-сервер.

X-Real-IP:          172.16.0.102
X-Forwarded-For:    172.16.0.1
X-Forwarded-Proto:  http
X-Forwarded-Host:   172.16.0.102:80
X-Forwarded-Server: 172.16.0.102

Пример конфигурации виртуального хоста, который будет проксировать трафик на адрес http://172.16.0.101.

server {
  server_name _;
  location / {
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header X-Forwarded-Host $host:$server_port;
    proxy_set_header X-Forwarded-Server $host;

    proxy_pass http://172.16.0.101;
  }

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий