Nginx如何在不实用域名的情况下,做反向代理?

网络开发之进阶之路


大家好,我是可乐君,一名帝都程序猿。很高兴能为大家回答这道问题。


配置反向代理,可以使用一个IP+路由转发 实现,如下图:


具体步骤如下:

1.配置站点1。


server {
listen 80; #端口号
server_name 127.0.0.1; #站点域名
root /var/www/html; #站点根目录
index index.html index.htm index.php;
}



2.配置站点2。


server {
listen 80; #端口号
server_name 127.0.0.2; #站点域名
root /var/www/html; #站点根目录
index index.html index.htm index.php;
}




3.配置反向代理服务器站点。


server {
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 做反向代理,就是解决跨域的一个重要方法。很多生产环境都是内网环境,而有时候又会遇到需要外网能够访问的这种需求。这个时候就可能会需要用到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地址


分享到:


相關文章: