通过修改kong属性解决不能获取外网域名的问题

2023-11-11

作者:朱金灿

来源:https://blog.csdn.net/clever101

 

        kong就是对nginx进行再一次封装而做成的企业级api网关。kong-dashboard是kong进行设置的一个可视化界面。目前公司的服务集群都采用kong-dashboard进行管理。最近在在服务集群上新部署了二级网站,后端使用java编写。发现在公司内部网内可以访问这个网站,但是外网则不能访问。经过调试后台代码,发现代码中的HttpServletRequest request对象的getServerName方法获取的是公司内部网的IP,而不是外部网的二级域名,也就是往上游服务转发时没有把二级域名发过去。请教了一下同事,发现KONG有一个属性叫preserve_host属性。当启用代理时,KONG默认将API的 upstream_url 的值配置为上游服务主机的 host 。preserve_host提供一个boolean值,对KONG的这个行为进行限制。例如,当使用preserve_host的默认值进行配置时,API的配置信息大致为:

{

    "name": "my-api",

    "upstream_url": "http://my-api.com",

    "hosts": ["service.com"],

}

此时,客户端发送的请求信息格式大致为:

GET / HTTP/1.1

Host: service.com

KONG会从API的upstream_url中提取HOST值,在做代理时,会向上游服务发送类似的请求:

GET / HTTP/1.1

Host: my-api.com

然而,当管理员在配置API时,明确指定了preserver_host=true时:

 

{

    "name": "my-api",

    "upstream_url": "http://my-api.com",

    "hosts": ["service.com"],

    "preserve_host": true

}

 

并假设客户端发送了相同的请求:

GET / HTTP/1.1

Host: service.com

KONG将会保留客户端发送来的HOST值,在做代理时,会向上游服务发送以下的请求:

GET / HTTP/1.1

Host: service.com

 

具体是在kong-dashboard这里设置:

 

  1. 登录kong-dashboard,选择你要修改的服务,如下图:
  2. preserve_host勾选上,然后单击UPDATE按钮退出,如下图:

    参考文献:

    1. 微服务Kong(八)——代理参考2.kong-dashboard的使用 

         2. kong-dashboard的使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过修改kong属性解决不能获取外网域名的问题 的相关文章

  • 再谈select, iocp, epoll,kqueue及各种I/O复用机制

    上篇文章太过幼稚 一派胡言 希望没有误导大家 我也是菜鸟 学习本身就是一个不断追求真理的过程 希望能谅解 首先感谢kasicass GG指出错误 已经指导我很多次了 非常感谢 然后我又查阅了一些资料 再次整理 more seriously
  • kong添加自定义插件(一)

    api网关kong支持自定义插件 但是如何添加一个自定义的插件 通过admin api 添加一个kong原有的plugin curl命令方式 curl i X POST url http 192 168 74 111 8001 routes
  • 用QT实现同步调用WebService

    QT提供了QNetworkAccessManager来访问 QT帮助文档里有这么一段 QNetworkAccessManager manager new QNetworkAccessManager this connect manager
  • 修改 Win7 MTU 值

    修改 Win7 MTU 值 对于 MTU Maximum Transmission Unit 最大传输单元 的简单说明 网络上传输的并非连续的数据流 而是一个个的数据包 MTU的值限定了这个数据包的最大值 如果电信运营商设定的数据包最大值为
  • TCP/IP详解学习笔记

    TCP IP详解学习笔记 http blog csdn net goodboy1881 category 204448 aspx PageNumber 2 TCP IP详解学习笔记 3 IP协议 ARP协议 RARP协议 摘要 TCP IP
  • Linux System Network Management Manual

    最近读得一本好书 名字叫做 Linux系统管理与网络管理 为了加深理解与学习 现将书名与目录摘录如下 后续会根据书中的内容做一些整理 I 基础篇 1 Linux系统简介 2 Linux系统安装 3 图形桌面系统管理 4 命令行界面 II 系
  • NetWork——关于TCP协议的三次握手和四次挥手

    0 准备知识 1 ACK TCP协议规定只有ACK 1时有效 也规定连接建立后所有发送的报文的ACK必须为1 2 SYN 在连接建立时用来同步序号 当SYN 1而ACK 0时 表明这是一个连接请求报文 对方若同意建立连接 则应在响应报文中使
  • IP数据包长度问题总结

    首先要看TCP IP协议 涉及到四层 链路层 网络层 传输层 应用层 其中以太网 Ethernet 的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据 Data 在应用层 它们的关系是 数据帧 IP包 TCP
  • kong的端口简介以及如何远程连接kong的管理端口

    KONG的端口 kong有四个端口号 分别为两个代理端口 proxy listen 0 0 0 0 8000 0 0 0 0 8443 ssl 两个管理端口 admin listen 127 0 0 1 8001 127 0 0 1 844
  • kong认证插件添加第二认证方式

    在认证插件对象 如ldap auth 的anonymous 字段添加第二认证方式 查看ldap的插件设置 anonymous 为basic auth的plugin的consumer id 在Authorization中设置认证密码 user
  • Android 网络地址之实现检查主机名的功能

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 效果演示 实现步骤 一 布局页面activity inet address xml
  • 端口 TCP/IP =PORT NUMBERS

    http www iana org assignments port numbers PORT NUMBERS last updated 2009 10 28 The port numbers are divided into three
  • 网络常见面试题

    1 OSI Open System Interconnect 开放系统互联 是一个七层的计算机网络模型 分别为 物理层 数据链路层 网络层 传输层 会话层 表示层和应用层 TCP IP Transmission Control Protoc
  • TCP-IP详解:超时重传机制

    参考教材 TCP IP Guide 超时重传是TCP保证数据传输可靠性的又一大措施 本文主要介绍重传TCP报文的两大举措 超时重传和快速重传 超时重传机制 超时重传指的是 发送数据包在一定的时间周期内没有收到相应的ACK 等待一定的时间 超
  • VLAN划分及配置注意事项

    VLAN Virtual Local Area Network 即虚拟局域网 是将一个物理的LAN在逻辑上划分成多个广播域的通信技术 VLAN内的主机间可以直接通信 而VLAN间不能直接通信 从而将广播报文限制在一个VLAN内 VLAN之间
  • linux下TUN或TAP虚拟网卡的使用

    tun tap 驱动程序实现了虚拟网卡的功能 tun表示虚拟的是点对点设备 tap表示虚拟的是以太网设备 这两种设备针对网络包实施不同的封装 利用tun tap 驱动 可以将tcp ip协议栈处理好的网络分包传给任何一个使用tun tap驱
  • Android 网络管理

    系统中对网络的判断和选在是在Connectivityervice这个服务中来处理的 在系统启动的时候会启动这个系统服务 系统启动完毕后 ConnectivityService在系统启动的时候就启动了 在android内部 用framewor
  • Windows 上的 Dockererized Kong 给出“从上游服务器收到无效响应”

    请帮助我 因为我在使用 Dockerized Kong 从 REST 端点获取数据时收到 从上游服务器收到无效响应 错误 我尝试使用 Kong 访问的 REST 服务正在我的本地主机上运行 Kong请求添加API curl i X POST
  • 如何在KONG中实现外部身份验证?

    我在用着KONG API网关 https konghq com 并且我想将 JWT 身份验证实现为单独的微服务 不使用 KONG 插件 现在我可以轻松地使用 KONG 注册此服务 以便用户可以注册和登录 假设经过身份验证的用户发送了一个请求
  • 通过 luarocks 安装 kong 后,如何安装二进制文件并运行它?

    我使用以下命令安装了 luarocks 的 kong luarocks install kong 0 14 1 0 但我找不到二进制 kong 来启动服务 该文件 如下所示 在哪里bin 仅供参考 我也遇到了这个 当我弄清楚这一点时 我有一

随机推荐

  • 2024年王道数据结构【考研全套笔记】

    22年 23年数据结构大纲一致 24年大纲 gt 目前和23年大纲保持一致 该博客怎么食用 大部分考408的友友 只是买了书 书上配置的免费视频是滞后2年的 非常不友好 建议在某鱼上or大学慕课正规购买 还是最新的视频香 看完视频必须做笔记
  • 深入学习java源码之Byte.decode()与Byte.toUnsignedInt()

    深入学习java源码之Byte decode 与Byte toUnsignedInt 异常 异常就是有异于常态 和正常情况不一样 有错误出错 在java中 阻止当前方法或作用域的情况 称之为异常 其中Error类中包括虚拟机错误和线程死锁
  • SpringBoot本地磁盘映射

    出于安全性考虑 SpringBoot无法直接访问本地磁盘的文件 在某些应用场景下 需要访问例如本地的图片等一些内容 这时候 我们可以通过创建一个虚拟路径来指向本地磁盘文件 重写WEB配置类 添加新的静态资源路径配置 代码如下 Configu
  • 力扣(LeetCode)给定一个非负整数数组,你最初位于数组的第一个位置。

    力扣 LeetCode 给定一个非负整数数组 你最初位于数组的第一个位置 给定一个非负整数数组 你最初位于数组的第一个位置 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个位置 示例 1 输入 2 3 1 1 4
  • 数据仓库主题十-(周期快照事实表)

    综述 当我们在实际工作过程中涉及到一些指标的计算比如账户余额 买卖家星级 商品库存 卖家累积交易额等计算中 则需要聚集与之相关的事务才能进行识别计 或者聚集事务无法识别 比如 温度等 对于这些状态度量 事务事实表是无效率的 而这些度量也和度
  • 前端框架React Js入门教程【转】

    现在最热门的前端框架有AngularJS React Bootstrap等 自从接触了ReactJS ReactJs的虚拟DOM Virtual DOM 和组件化的开发深深的吸引了我 下面来跟我一起领略 ReactJS的风采吧 章有点长 耐
  • Redis集群搭建

    Redis集群搭建 1 主从模式部署 1 1 环境准备 IP 主机名 角色 192 168 54 200 master master 192 168 54 201 slave1 slave1 192 168 54 202 slave2 sl
  • Hive集群部署实验

    目录 一 实验介绍 1 1 实验内容 1 2 实验知识点 1 3 实验环境 1 4 实验资源 1 5 实验步骤清单 二 实训架构 三 实验环境准备 四 实验步骤 4 1 Hive部署 4 1 1 安装Hive 4 1 3 修改hive配置文
  • url地址输入到页面的经过

    简单理解如下 1 域名解析 2 缓存检查 强缓存跟协商缓存 强缓存 协商缓存 DNS 解析 解析有两种 递归查询跟迭代查询 先走递归 看本地 3 1递归查询 没有再去服务器上面去看 3 2 迭代查询 4 三次握手 这个是建立好TCP通道了
  • stl中set的并、交、差集

    set的键是自动排序的 对应的求并集差集交集都可以用到这个有序的特性 时间复杂度都为O m n m n分别为两个容器的大小 1 set union可以用来求两个集合的并集 它是一种稳定的操作 因为元素间的相对位置不会改变 源码如下 temp
  • Unity动画系统(Animation与Animator的区别)

    老版本Unity使用的是Legacy动画系统 在Unity4 0后引入了一套全新的动画系统 即为Mecanim动画系统 Legacy动画系统使用的是Animation组件 直接对动画片段进行操作 而Mecanim动画系统使用的是Animat
  • 常用的DML语句

    DML 数据操纵语言 Data Manipulation Language DML 是用于数据库操作 对数据库其中的对象和数据运行访问工作的编程语句 通常是数据库专用编程语言之中的一个子集 例如在信息软件产业通行标准的SQL语言中 以INS
  • jenkins学习笔记第十二篇 解决邮件报告中错误接口信息

    修改jmeter results detail report 21 xs样式 只展示统计运行的案例数 和出错的接口信息
  • 【教程】 .Net环境和开发工具Visual Studio的安装

    文章目录 前言 1 NET环境的安装 2 Visual Studio工具的安装 总结 前言 NET 是一个免费的跨平台开放源代码开发人员平台 用于生成多种类型的应用程序 NET 基于许多大规模应用在生产中使用的高性能运行时构建而来 Visu
  • springboot连接mysql8.0问题解决

    原配置如下 spring datasource url jdbc mysql 47 112 103 249 3306 management useSSL true allowMultiQueries true
  • idea 案例:学生信息查询系统学生信息查询系统

    实现功能 1 多条件查询 当用户输入的学生姓名不为空时 则只根据学生姓名进行学生信息的查询 当用户输入的学生姓名为空而学生专业不为空时 则只根据学生专业进行学生信息的查询 当用户输入的学生姓名和专业都为空 则要求查询出所有学号不为空的学生信
  • 华硕电脑bios设置虚拟机_【雷电说明书】华硕电脑与华硕笔记本开VT的BIOS设置方法...

    本文主要讲的是华硕电脑与华硕笔记本开VT的BIOS设置方法 按照大体市面上常用的电脑型号分类 大致分为三个步骤 开VT的用处 或者说开VT的好处就是安卓模拟器能够得到更多的资源来运行游戏 为了游戏玩的爽 可以认为安卓模拟器是必须开VT的 这
  • 猿如意中的【Wireshark】网络包分析工具详情介绍

    一 工具名称 Wireshark win64 3 6 5 二 下载安装渠道 Wireshark win64 3 6 5 通过CSDN官方开发的 猿如意 客户端进行下载安装 对 你没有看错 就是来自CSDN官方 这次 CSDN果然没有辜负广大
  • SpringCloud-学习笔记(四)nacos基本使用

    什么是nacos Nacos n k s 是 Dynamic Naming and Configuration Service的首字母简称 一个更易于构建云原生应用的动态服务发现 配置管理和服务管理平台 使用java语言进行开发 Nacos
  • 通过修改kong属性解决不能获取外网域名的问题

    作者 朱金灿 来源 https blog csdn net clever101 kong就是对nginx进行再一次封装而做成的企业级api网关 kong dashboard是kong进行设置的一个可视化界面 目前公司的服务集群都采用kong