как заблокировать внешний запрос, поступающий с прокси-сервера на веб-сервер nginx

У меня есть веб-приложение, размещенное на веб-сервере nginx. Я хотел бы отключить запросы от любого прокси-сервера к моему веб-серверу (nginx).

Мне нужно вернуть 403 для тех, кто запрашивает через прокси-сервер.

Есть ли способ проверить, что X-Forwarded-For установлен в запросе, и не разрешил ли этот запрос от nginx?

или каким-либо другим способом добиться этого?

upstream tomcat_srv
{       


      server 127.0.0.1:8080;
      server 127.0.0.1:8081;

}

server
{

        listen  443 ssl http2;

        add_header   X-Content-Type-Options nosniff;
        add_header   X-Frame-Options DENY;
        server_name exam.test.com;


        ssl_certificate /etc/nginx/ssl/test/ssl-bundle.crt;
        ssl_certificate_key /etc/nginx/ssl/test/test.com.key;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 5m;
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ALL:!aNULL:!KRB5:!PSK:!MD5:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;

        if ($http_x_forwarded_for) {
            return 403;
        }


        location / {
                proxy_pass http://tomcat_srv;
                }


}
0
задан 17 July 2017 в 19:20
1 ответ

Возможно, вы блокируете несколько других вещей, но это должно работать:

if ($http_x_forwarded_for) {
    return 403;
}

Вы также можете перенаправить на то, что объясняет, почему это не работает для пользователей.

0
ответ дан 5 December 2019 в 07:44

Теги

Похожие вопросы