我们有一个简单的问题,我希望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;
非常感谢任何帮助或建议!
干杯