【发布时间】:2018-10-19 21:13:06
【问题描述】:
我已将 nginx 部署为在 puma Web 服务器前运行的代理。 我想做的是阻止到某些域的传出流量。
在以下场景中,我试图阻止我的应用联系 example.com。我可以让 nginx 在同一个套接字文件上监听黑名单块,这样我就可以看到来自我的网络服务器的请求吗?与当前的设置一样,它不起作用。
这是我的配置:
upstream app_server {
server unix:/tmp/nginx.socket fail_timeout=0;
}
#Block outgoing to this domain
server {
listen <%= ENV["PORT"] %>;
server_name example.com;
return 404;
}
server {
listen <%= ENV["PORT"] %>;
server_name _;
keepalive_timeout 5;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
更具体地说,我的应用程序是托管的,我无权访问防火墙或主机文件。 Nginx 是我目前唯一的选择,我的 Web 服务器绑定到 unix:/tmp/nginx.socket
【问题讨论】:
-
您的 hosts 文件中是否有
example.com指向127.0.0.1? -
更具体地说,这是在 Heroku 中运行的,因此我的解决方案是托管的,我无法控制流量、防火墙等,但要使用 nginx。因此,例如,我想做的是阻止我的应用向 google.com 发送请求并返回 404。
-
nginx 没有发出请求,那你为什么要阻止它呢?
-
@ShawnC。这就是我想弄清楚的,一种让 nginx 阻止来自我的网络服务器的传出请求的方法。
-
nginx 不是你要找的
标签: nginx