是否可以使用Nginx作为HTTP / HTTPS代理?
经过一些testing,我发现为我工作的以下configuration。
server { server_name ~^(www\.)?(?<domain>.+)$; access_log /var/log/nginx/proxy.access.log main; error_log /var/log/nginx/proxy.error.log crit; listen 10.255.1.13:8080; resolver 8.8.8.8; location / { proxy_pass http://$domain; proxy_redirect off; proxy_set_header Host $host; # Optional headers # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For # $proxy_add_x_forwarded_for; } }
此configuration仅适用于HTTP,不适用于HTTPS。
我认为简短的回答是否定的,这不是写给前锋代理
UPDATE
澄清我上面的陈述:
NGINX从来没有用前向代理编写 – 尽pipe远程可能以某种方式利用configuration来执行你想要的操作,你将不得不了解以下限制:
可能的其他考虑在这个时候是未知的:
如果你想使用HTTP / HTTPS代理,你应该使用Squid。 它被写成这样做。 Nginx被编写为一个反向代理和负载平衡器,但不是一个正向代理。