代理、转发

2019-03-16  本文已影响0人  qyfl

代理、转发

正向代理,代理客户端,例如 vpn。

正向代理模式 Nginx 配置模块
http(不支持 https) http_proxy

反向代理,代理服务端,例如 Nginx 分发流量。

反向代理模式 Nginx 配置模块
http、websocket、https ngx_http_proxy_module
fastcgi ngx_http_fastcgi_module
uwsgi ngx_http_uwsgi_module
grpc ngx_http_v2_module

Nginx可支持的代理协议: HTTP、Websocket(基于http1.1,实现客户端与服务端之间长链接)、GRPC(远程过程调用)、ICMP\POP\IMAP(邮件收发)、HTTPS、RTMP(流媒体)。




相同的模块,既可以做成正向代理,也可以做成反向代理。

配置

proxy_pass,转发

配置语法:
Syntax: proxy_pass

Default: -

Context: location,if in location, limit_except
正向代理示例:
server{
    listen 80;
    ...
    location ~ /test_proxy.html$ {
        proxy_pass http://xxxx:80;
        // 如果访问此 location,转发到 http://xxxx:80。
        // 加入服务端禁用了客户端的 IP,可以通过这种配置方式,通过代理去访问服务端,实现间接访问的功能。
    }
}
反向代理示例:

假如服务器只开放一个 80 端口。外网要访问 8080 端口服务。可以通过这种方式转发

server{
    listen 80;
    ...
    location ~ /test_proxy.html$ {
        proxy_pass http://127.0.0.1:8080;
        
        // 如果访问此 location,转发到 http://127.0.0.1:8080。
    }
}

proxy_buffering,缓冲区,减少 I/O 损耗。

配置语法:
Syntax: proxy_buffering on|off;

Default: proxy_buffering on;

Context: http, server, location

proxy_redirect,跳转重定向

配置语法:
Syntax: proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement;

Default: proxy_redirect default;

Context: http, server, location 

上一篇 下一篇

猜你喜欢

热点阅读