反向代理介绍

反向代理是将客户端请求转发到外部服务的一种方式。它是应用程序和外部服务器之间的桥梁,nginx反向代理便是这样一种代理服务器。

1) 有时候我们的ssl证书紧张,我们可以使用反向代理服务器实现多个服务共享一个https服务。如下图

nginx 反向代理配置

其中路径https://www.yxjc123.com/path/A 访问服务器A;

其中路径https://www.yxjc123.com/path/B 访问服务器B;

其中路径https://www.yxjc123.com/path/C 访问服务器C。

2) 您也可以解决内网服务访问外网的需求。

如内网客户端服务器A不能访问外网,但是它可以使用内网服务器B访问外网,其中服务器B装有nginx反向代理。

nginx 反向代理配置

反向代理的作用

1. 负载均衡:nginx负载均衡可以将请求均衡的发送到个服务器。

2. 网络加速:nginx反向代理可以压缩出站和入站的数据,缓存网络请求,提高网络的请求速度。

3. 安全匿名:反向代理可以隐藏真实的服务器ip。

nginx反向代理配置

location /yxjc/baidu/ {  
    proxy_pass http://www.baidu.com/;  
}  

其中proxy_pass就是反向代理配置的指令,我们在nginx负载均衡配置中也是用的该指令来实现的。

相关的非http代理**_pass指令有如下这些:

  • fastcgi_pass:它将请求传递给 fastCGI 服务器。
  • uwsgi_pass:它将请求传递给 uwsgi 服务器。
  • scgi_pass:它将请求传递给 SCGI 服务器。
  • memcached_pass:它将请求传递给 memcached 服务器。
其中fastcgi_pass就是php配置指令。