1、什么是方向代理安全
客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道本身访问的是一个代理。由于客户端不须要任何配置就能够访问。服务器
反向代理,"它代理的是服务端,代服务端接收请求",主要用于服务器集群分布式部署的状况下,反向代理隐藏了服务器的信息。负载均衡
反向代理的做用:
(1)保证内网的安全,一般将反向代理做为公网访问地址,Web服务器是内网
(2)负载均衡,经过反向代理服务器来优化网站的负载分布式
2、反向代理配置优化
server { listen 80; server_name aotu.jd.com; root /var/www/; location /o2blog_wx/ { # 反向代理咱们经过proxy_pass字段来设置 # 也就是当访问http://aotu.jd.com/o2blog_wx的时候通过Nginx反向代理到服务器上的http://127.0.0.1:3000 # 同时因为解析到服务器上的时候o2blog_wx这个字段都要处理 # 因此经过rewrite字段来进行正则匹配替换 # 也就是http://aotu.jd.com/o2blog_wx/hello通过Nginx解析到服务器变成http://127.0.0.1:3000/hello proxy_pass http://127.0.0.1:3000; rewrite ^/o2blog_wx/(.*) /$1 break; } }
3、负载均衡
http { upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; } ... server { listen 9000; server_name localhost; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass backend; } } }