proxy_pass
指令
其实proxy_pass
的用法很多,这个指令可以把特定的请求反向代理
到一个服务器组
(这里牵涉到负载均衡,我们在后面的文章中会介绍),也可以代理到一个IP
,一个URL
等。
这个指令是ngx_http_proxy_module
模块的核心指令,它实现了反向代理的功能。
我们这里只介绍这一个指令,通过这个指令,配合例子,我们就基本可以抓住
反向代理
的核心了。为了实现反向代理,我们需要在机器上面启动两个
nginx
进程,一个作为前端机
(也即是接收客户端请求的服务器)。一个作为反向代理
机,也即是实际完成工作的服务器。这也是我们实际工作中经常用到的模式。首先,我们创建一个
nginx_proxy.conf
文件,作为反向代理
机的配置文件。
然后配置一个前端机
:
然后启动两个nginx
进程:
我们查看nginx
进程:
我们分别打开前端机
和反向代理机
的访问日志,然后请求curl http://localhost/hello.html
,如下: