Nginx安全代理到外部站点

时间:2017-07-20 15:39:41

标签: nginx

我们有一个简单的问题,我希望NGINX可以解决这个问题,因为它是我喜欢的首选工具。

我们有一个安全的内部网络,有几台需要与外部托管网站通信的POS机,但由于我们的客户安全性不希望开放访问,他们无法直接进行。

我正在试图找出一个可以执行以下操作的NGINX配置:

在内部网络上接收请求http://xxxx/yyyy,然后将其反向代理为https://externalsite/yyyy

没有SSL我似乎能够实现某些目标,但我的问题是通过SSL实现这一点。 我并不关心内部通信是否安全,但要求保护外部通信的代理。

我甚至不确定反向代理是否是最好的解决方案,但是无处可寻找任何其他选项。

当前配置

worker_processes  5;
worker_rlimit_nofile 8192;

events {
  worker_connections  4096;
}

http {
  include    proxy.conf;
  index    index.html index.htm index.php;

  log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
  sendfile     on;
  tcp_nopush   on;
  server_names_hash_bucket_size 128;

  server {
    listen       80;

    location / {
      proxy_pass   http://example.com/xxx/;
      proxy_set_header Host example.com;
    }
  }
}

Proxy.conf

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffers           32 4k;

非常感谢任何帮助或建议!

干杯

0 个答案:

没有答案