Nginx 正向代理与反向代理应用
1、正向代理 Nginx正向代理主要用于内部网络通过代理服务器跳板访问外部网络,如专有一台服务器上有VPN或SS可以访问到外部网络,内部网络的终端可以将浏览器的代理服务器设置为专有的服务器地址和端口已获得访问外部网络的能力。
简易配置(nginx.conf)如下:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log debug;
events {
use epoll;
worker_connections 1024;
}
http {
resolver 8.8.4.4;
server {
listen 8088;
location / {
proxy_pass http://$http_host$request_uri;
}
}
}此时在终端的浏览器上设置代理服务器信息即可,此处假设专有服务器地址为192.168.100.1,上述nginx中定义的端口为8088。

配置完成后,即可通过专有服务器代理出口访问外网。
2、反向代理
简易配置文件范例
cat /etc/nginx/conf.d/proxy.conf
upstream nodes {
ip_hash;
server 192.168.100.1:8081;
server 192.168.100.2:8081;
}
server {
listen 80;
server_name _;
access_log /dev/null;
error_log /home/www/error.log;
location / {
proxy_pass http://nodes;
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;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 32 4k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
error_page 500 502 503 504 /50x.html;
error_page 404 /40x.html;
}
}同时,需要在两台服务器上都存在监听8081端口的相应的站点文件。