如何阻止来自代理服务器的外部请求到nginx web服务器

我有nginx web服务器托pipe的web应用程序。 我想禁用从任何代理服务器到我的networking服务器(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; } } 

你可能会阻止一些其他的事情,但这应该工作:

 if ($http_x_forwarded_for) { return 403; } 

你也可以redirect到解释为什么它不工作的用户。