首页 > 系统相关 >nginx代理给网关时 丢失请求的host信息问题

nginx代理给网关时 丢失请求的host信息问题

时间:2023-05-27 15:33:48浏览次数:28  
标签:网关 配置 nginx host conf gulimall

nginx搭建域名访问环境

描述:访问gulimall.com,Nginx反向代理到网关地址,然后网关转发到具体的product服务

域名映射的效果如下:

具体步骤:

(1)hosts文件配置域名和ip映射

修改windows下host文件:C:\Windows\System32\drivers\etc\hosts

为了方便,可以使用SwitchHost工具

(2)配置nginx.conf

在http块中,配置上游服务器

vi /mydata/nginx/conf/nginx.conf

upstream gulimall{        #配置上游服务器,起名为gulimall
    server 192.168.56.1:88;   #配置上游服务器为网关地址,192.168.56.1为windows的ip地址
  }
(3)配置gulimall.conf

vi /etc/nginx/conf.d/gulimall.conf

在server块中配置请求的路由

location / {    #配置请求的路由
      proxy_pass http://gulimall;   #因为主配置文件配置了上游服务器为网关地址,所以可以请求路由到http://192.168.xxx.xxx:10000/
  }
(4)重启nginx

(5)配置网关

添加路由规则

- id: gulimall_host_route
uri: lb://gulimall-product
predicates:
- Host=**.gulimall.com,gulimall.com
(6)测试

访问gulimall.com报404,丢失请求的host信息

问题:是nginx代理给网关时 丢失请求的host信息

解决:proxy_set_header Host $host

在gulimall.conf 设置 proxy_set_header Host $host

location / {    #配置请求的路由
      proxy_set_header Host $host;   #坑点:Nginx代理给网关时会丢失请求的host等信息
      proxy_pass http://gulimall;   #因为主配置文件配置了上游服务器为网关地址,所以可以请求路由到http://192.168.xxx.xxx:10000/
  }

问题即可解决!

标签:网关,配置,nginx,host,conf,gulimall
From: https://www.cnblogs.com/xiejixiang/p/17436814.html

相关文章

  • Netty+Nacos+Disruptor自研企业级API网关-江潭落月复西斜
    Netty+Nacos+Disruptor自研企业级API网关download:3w51xuebccom使用Netty和SpringBoot实现仿微信的示例在本文中,我们将使用Netty和SpringBoot框架来创建一个简单的聊天应用程序,类似于微信。这个应用程序将支持多用户聊天和即时消息发送。下面让我们来一步步看看如何实现。第一步......
  • Android平台如何实现外部RTSP|RTMP流注入轻量级RTSP服务模块(内网RTSP网关)
     技术背景今天分享的是外部RTSP或RTMP流,拉取后注入到本地轻量级RTSP服务模块,供内网小并发场景下使用,这里我们叫做内网RTSP网关模块。内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP......
  • nginx 配置中的sendfile 的作用
    http{...sendfileon...}sendfile配置的具体意思:设置为on表示,使用零拷贝技术来传输文件:sendfile,这样只需要2次上下文切换,和2次数据拷贝。设置为off表示,使用传统的文件传输技术:read+write,这时就需要4次上下文切换,和4次数据拷贝。当然,要使用sendfil......
  • 多功能RTU环境采集网关支持温湿度风速采集
    无线工业物联网数据采集控制短信报警终端S475/S475E系列在工业物联网产业链中发挥着非常重要的作用,可以广泛应用于很多领域,例如智能电网、智能交通、智能家居、金融、移动POS终端、供应链自动化、工业自动化等。该系列产品内嵌工业级GSM/GPRS/3G/4G通信模块,并集成了稳定可靠......
  • nginx windows下重载配置失败
    正常操作命令是:cdC:\ProgramFiles\nginx&&nginx-sreload。但是把nginx安装为windows服务运行后,再执行重载就不好使了。会报错:nginx:[error]OpenEvent("Global\ngx_reload_4460")failed(5:Accessisdenied),即便是用管理员运行cmd权限也不够。 【解决办法】1.下载......
  • fail2ban nginx 多次无效访问封IP
    https://iceburn.medium.com/how-to-apply-fail2ban-to-nginx-excess-404-and-403-6b601285df02fail2ban配置#/etc/fail2ban/filter.d/nginx.conf[Definition]failregex=^<HOST>.*"(GET|POST).*"(403|404).*$ignoreregex=#/etc/fail2ban/jail.......
  • linux服务器,nginx日志切割保存
    我们都知道,默认情况下,nginx的项目log是一直被累计写入的,随着时间越久,那么这个文件就会越大,这个时候如果我们要去做一些查找和排查就会比较困难,因为日志文件太大,操作起来比较费劲。因此我们为了规避这个问题,提出日志切割的方案。那日志切割的原理是怎么样的,我们来分析一下,我们先......
  • Nginx+Tomcat负载均衡会话保持​
    拓扑图:推荐步骤:Centos01安装Nginx和keepalived配置为主服务器对外提供服务,安装DNS服务器设置域名www.bdqn.com域名映射到keepalived的vlp飘逸地址,Centos02安装Nginx和keepalived配置为备份服务器Centos03和Centos04安装Tomcat服务器配置会话保持设置主页修改Centos04的tomcat配置文......
  • Nginx如何配置多个服务域名解析共用80端口详解
    前言由于公司一台服务器同时有多个服务,这些服务通过域名解析都希望监听80/443端口直接通过域名访问,比如有demo.test.com和product.test.com。这时候我们可以使用nginx的代理转发功能帮我们实现共用80/443端口的需求。备注:由于HTTP协议默认监听80端口,HTTPS协议默认监听443端口,所......
  • 创建一个自托管(Self-Host)的WCF Service
    创建一个自托管(Self-Host)的WCFService//CreateWCFservicehostUribaseAddress=newUri("https://127.0.0.1:8087/MyWcfService");ServiceHosthost=newServiceHost(typeof(MyWcfService));host.Credentials.ServiceCertificate.SetCertificate(StoreL......