在使用nginx时对于upstream的server的测试中发现,nginx默认对其使用的是基于IP的转发,这就意味着对于同IP、同端口、不同域名时无法进行转发。

在官方WIKI:http://wiki.nginx.org/NginxHttpUpstreamModule没有查到相应的解决方案。
在GOOGLE上查到多篇几乎无人问同样的问题,最终发现Timo的这篇文章:nginx单一端口域名转发,也进一步证实了yaosansi的猜测是正确的.
以下引用了Timo的原文中的解决方案:

对于后端是同一端口多域名转发的nginx proxy。在nginx中的默认proxy是只能对后面real server做端口转发的,而不能做域名转发。
这个是因为默认情况下:
proxy_set_header Host $proxy_host;

这样就等于前端输入域名后到nginx这里直接转换成IP进行转发了。
于是我们需要修改proxy_set_header的参数。

proxy_set_header Host $http_host;

下面这个例子中backend1权重为5,其他默认为1,最大失效次数3次,如果30秒内没有响应就认为是失效了。

upstream lb  { 
server yaosansi.com weight=5; 
server www.yaosansi.com max_fails=3  fail_timeout=30s; 
server unix:/tmp/test3; 
}

server {

listen 80; 
         server_name  www.yaosansi.com; 
         location  /     { 
         proxy_store off; 
         proxy_redirect  off; 
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
         proxy_set_header X-Real-IP $remote_addr; 
         proxy_set_header Host $http_host; 
         proxy_pass http://lb;  
        } 
}

转载于:https://www.cnblogs.com/huangjingzhou/articles/2155895.html

nginx同IP、同端口、不同域名时的转发相关推荐

  1. Nginx基于IP,端口,域名配置虚拟主机

    Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实 ...

  2. 教你如何处理Nginx禁止ip加端口访问的问题

    这篇文章主要介绍了Nginx禁止ip加端口访问的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 Nginx禁止IP加端口访问 使用iptables 限制 ...

  3. Debian配置Apache虚拟主机(IP、端口、域名)

    apache2有三种方式实现虚拟主机,IP.端口和域名.用户输入不同的IP.端口.域名.访问到的就会是不同的站点. 域名方式: 服务器需要搭建DNS服务,本文省略搭建DNS服务的过程. 在/var/w ...

  4. mac nginx映射ip和端口_mac 上配置 nginx 端口转发访问 angular 项目

    背景 在进行前端的移动端开发时,需要在手机上预览电脑上的项目. 以 angular 为例,默认启动项目后,在开发机(以 Mac 为例)的浏览器地址栏输入 http://localhost:4200 即 ...

  5. nginx 禁止IP访问服务器和非法域名绑定你的IP

    如果你不想别人通过IP访问你的web server或用其它域名绑定你的IP.有什么解决方案呢? 如果你的web server是nginx 请参考下面的虚拟主机配置: server{ listen 80 ...

  6. nginx限制ip,只允许域名访问

    一般需要配置两个server ,listen需要被监听的端口. 第一个如下图,这样,当访问ip的时候就会返回500错误了: 第二个则配置你禁止的ip的域名,如下图 ,这里面配置你的location.u ...

  7. mac nginx映射ip和端口_步骤四、nginx反向代理

    写在前面: 上一步,我们已经部署好了静态网页 但是呢有一个端口号在哪里,看着很不爽,接下来我们就来解决掉这个端口号. 一.增加文件夹 我们之前已经创建过两个文件夹了,大家还记得吗? /home|--- ...

  8. 正则校验IP及端口和域名和手机号、座机同步校验

    正则校验 let value="http://www.baidu.com" let num=fieldsValue.sdtName.split(":")if(n ...

  9. Nginx配置虚拟主机(基于域名、端口及IP)

    文章目录 一.实验环境及工具介绍 二.实验一:基于域名 三.实验二:基于端口 四.实验三:基于IP 一.实验环境及工具介绍 实验环境:VMware Workstation 15.5.Centos7.6 ...

最新文章

  1. SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
  2. 安卓手机可以连接斑马系统吗_斑马郝飞:我们一定能在车载系统上打败安卓
  3. 注册Github账户过程
  4. python web框架介绍对比
  5. 牛津剑桥古怪面试题:美女与经济学
  6. java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案 郞波 第二版 清华大学出版社...
  7. mqtt+uniapp 发布/订阅实例
  8. c语言编程科学计数法,c语言编程 科学计数法
  9. 深山红叶PE系统工具箱V32
  10. ASPICE总结2——软件详细设计与软件测试过程
  11. word流程图怎么使箭头对齐_在Word中画流程图时箭头怎么对齐到框的中间啊?
  12. 想学一门计算机技术 Java和Python哪个前景好
  13. Android 自定义锁屏图案 View
  14. 灵活用工系统开发|劳务派遣有风险吗?
  15. 个人永久性免费-Excel催化剂功能第34波-提取中国身份证信息、农历日期转换相关功能...
  16. Codeforces1422 F.Boring Queries(根号分治+线段树+可持久化线段树)
  17. 免费代理池(proxy_pool)搭建教程
  18. AGV机器人出圈:助力产线物流自动化
  19. ghost里html文件怎么打开,Ghost配置5——添加归档页面
  20. 今日份Ps练习 | 剪纸效果

热门文章

  1. 《虚拟化与云计算》推荐序二
  2. arcims安装配置教程
  3. oracle学习 sql基本语法(三),Oracle数据库学习三
  4. 程序开发工具java_15款Java程序员必备的开发工具
  5. linux删除vip 绑定,linux – VIP不会从备份keepalived中删除
  6. 谭浩强C程序设计第四版答案
  7. 遗传和基因突变对神经网络训练的好处
  8. Python不用理解进程,线程实现多任务就是这么简单
  9. 微信tocken后台后台保存方法
  10. Python全栈工程师(多继承、函数重写)