网络开发之进阶之路
大家好,我是可乐君,一名帝都程序猿。很高兴能为大家回答这道问题。
配置反向代理,可以使用一个IP+路由转发 实现,如下图:
具体步骤如下:
1.配置站点1。
listen 80; #端口号
server_name 127.0.0.1; #站点域名
root /var/www/html; #站点根目录
index index.html index.htm index.php;
}
2.配置站点2。
listen 80; #端口号
server_name 127.0.0.2; #站点域名
root /var/www/html; #站点根目录
index index.html index.htm index.php;
}
3.配置反向代理服务器站点。
listen 80; #端口号
server_name 111.111.111.11; #站点域名
location / { #关键配置,请求转发到站点1
proxy_pass http://127.0.0.1;
}
location /api { #关键配置,请求转发到站点2
proxy_pass http://127.0.0.2;
}
}
总结,这是一个最简单的模型,当然了站点1 或者站点2 可以是与反向代理在一个机器上(域名可以都是localhost的不同端口),也可以是在同一个内网的不同机器上。
可乐君的收藏夹
日常使用Nginx 做反向代理,就是解决跨域的一个重要方法。很多生产环境都是内网环境,而有时候又会遇到需要外网能够访问的这种需求。这个时候就可能会需要用到Nginx 做反向代理。
server
{
listen 80;
server_name 192.168.1.*;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.88:8080;
}
access_log logs/access.log;
}
可以看到这就是最简单的反向代理,内网的ip为1.88,当通过外网地址请求进来以后,就直接通过Nginx 转发到1.88的8080端口上面。这样就完成了反向代理。
有的时候会将server_name绑定为一个域名,然后再将这个域名与实际的外网ip地址做绑定,这个就得根据业务需求去设定了。
猿人生活
用ip?
Y歪88
使用ip地址