关于nginx反代proxy_pass与upstream的问题

maybit 2019-04-10 12:42:33
nginx的proxy_pass可以指定域名,也可以指定upstream名称,如果都是单机的情况下,upstream方便在多机的情况下好用,但如果都是单机做代理,在proxy_pass中直接指定域名与指定upstream名称有什么区别,我发现用反代绕过beian的话,用upstream的名称不行,upstream中写的是域名,都是默认80端口,直接看代码吧。

www.abc.com域名未备案,域名解析境外,xxx.cn域名已经备案,并且ip解析在国内服务器

1、用以下方式做代理,不成功,会跳到未备案提示页面
upstream svr{
server ip.xxx.cn;
}

server {
listen 80;
server_name www.abc.com;
location / {
proxy_pass http://svr;
}

2、不使用upstream 模块,直接在proxy_pass 指定域名则可以成功,有人了解过什么原因不
#upstream svr{
# server ip.xxx.cn;
#}

server {
listen 80;
server_name www.abc.com;
location / {
proxy_pass http://ip.xxx.cn;
}
...全文
814 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
加了upstream后,跳转代理的页面可能会重定向一次,所以访问不到,如果用不到后端的负载均衡,直接用proxy_pass
u010847016 2019-07-24
  • 打赏
  • 举报
回复
请问楼主解决问题了吗,怎么处理的呢,我现在也遇到这个问题了
cqyy725 2019-04-24
  • 打赏
  • 举报
回复
upstream 域名要加端口

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧