1、什么是反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
反向代理与正向代理(如VPN)的区别是,正向代理代理的是客户端,我们需要在客户端进行一些代理的设置。而反向代理代理的是服务器,作为客户端的我们是无法感知到服务器的真实存在的。
下面是百度百科的官方释义:
2、Nginx反向代理配置
- 示例配置:
使用 nginx 反向代理 www.oyhdo.com 到 blog.csdn.net/msllws
server {
listen 80;
server_name www.oyhdo.com;
location / {
proxy_pass https://blog.csdn.net/msllws;
index index.html index.htm index.php;
}
}
配置后访问 www.oyhdo.com 会跳转到代理到的地址:
3、配置参数说明:
- listen :用于配置网络端口监听。配置方式如下:
listen *:80 | *:8080 #监听所有80端口和8080端口
listen IP_address:port #监听指定的地址和端口号
listen IP_address #监听指定ip地址所有端口
listen port #监听该端口的所有IP连接
#使用域名 多个用空格隔开
server_name www.oyhdo.com oyhdo.com;
#使用通配符 *,但通配符只能用在由三段字符组成的首段或者尾端,或者由两端字符组成的尾端
server_name *.oyhdo.com www.oyhdo.*
#使用IP地址
server_name 192.168.1.10
- location : 参考文章【location匹配规则详解】
- proxy_pass : 用于设置被代理服务器的地址。可以是主机名称、IP地址加端口号的形式。
proxy_pass https://blog.csdn.net/msllws;
index index.html index.php;