nginx正向代理
通过把Nginx设置为正向代理,我们就可以在局域网中用运行着Nginx的主机作为正向代理服务器了。那什么是正向代理和反向代理呢?正向代理和反向代理-百度百科
正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
反向代理:如果局域网向Internet提供资源服务,让Internet上的其他客户端来访问局域网内的资源,使它们必须通过一个代理服务器来进行访问,这种服务就称为反向代理。正向代理和反向代理逻辑正好相反。
Nginx正向代理涉及到的指令较少,下面直接贴上其配置文件内容。
- ...
- server {
- resolver 192.168.1.1; #指定DNS服务器IP地址
- listen 8080;
- location / {
- proxy_pass http://$http_host$request_uri; #设定代理服务器的协议和地址
- }
- }
- ...
设置nginx代理服务,一般是配置到一个server块中。注意,在该server块中,不要出现server_name指令,即不要设置虚拟主机的名称和IP。而resolver是必需的,如果没有该指令,nginx无法处理接收到的域名。其次,nginx代理服务不支持正向代理HTTPS站点。
配置完成后,重启nginx就可以生效了。此时我们在浏览器中设置代理服务:“Internet选项” -> “连接” -> “局域网设置” -> “代理服务器”,然后设置如下:
这里IP地址为运行nginx主机的IP地址,端口为我们配置文件中设置的listen端口号。这样我们就可以通过nginx的正向代理来访问Internet资源了^_^