惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
G
Google Developers Blog
B
Blog
Engineering at Meta
Engineering at Meta
阮一峰的网络日志
阮一峰的网络日志
The Register - Security
The Register - Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 叶小钗
The Cloudflare Blog
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
雷峰网
雷峰网
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
A
About on SuperTechFans
量子位
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
H
Help Net Security
Help Net Security
Help Net Security
P
Palo Alto Networks Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Troy Hunt's Blog
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
Know Your Adversary
Know Your Adversary
Apple Machine Learning Research
Apple Machine Learning Research
Scott Helme
Scott Helme
N
News | PayPal Newsroom
AWS News Blog
AWS News Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
腾讯CDC
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
TaoSecurity Blog
TaoSecurity Blog
GbyAI
GbyAI
Y
Y Combinator Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
D
Docker

博客园 - e3tB8Wz7

Windows PowerShell 查看特定网卡的详细信息 阿里云 CentOS 7 yum镜像(Centos-7.repo) powershell上移文件夹下的所有文件 一行命令查看docker所有网络 + 子网 nginx配置文件生产环境优化 Microsoft Office 安装与激活 Microsoft Edge隐藏边栏快捷键 微信小程序hideLoading隐藏showToast提示的问题 前端开发解决方案 pl/sql developer设置oracle环境变量 postman-app下载官方历史版本 logback日志格式 springboot alibaba druid数据库连接池配置,输出可执行sql 统计accesslog日志中的慢接口,排序后取前几条 将多个文件的内容附加到一个文件中 统计accesslog日志中每个url的请求次数,排序后取前几条 Shell:用sed命令删除特定行 Git for Windows 国内下载站 oracle查询日期属于一年的第几周,日期所在周的周一是哪一天
如何在反向代理后面部署spring服务?
e3tB8Wz7 · 2022-08-03 · via 博客园 - e3tB8Wz7

如何在反向代理后面部署spring服务?

  • 如果您的应用程序在代理、负载均衡器或云中运行,则请求信息(如主机、端口、方案等)可能会在此过程中发生变化。您的应用程序可能正在 10.10.10.10:8080上运行,但 HTTP 客户端应只能看到 example.org
  • RFC7239 “转发的标头”定义了转发的 HTTP 标头;代理可以使用此标头提供有关原始请求的信息。您可以将应用程序配置为读取这些标头,并在创建链接并将其发送到 HTTP 302 响应、JSON 文档或 HTML 页面中的客户端时自动使用该信息。还有非标准标头,如X-Forwarded-HostX-Forwarded-PortX-Forwarded-ProtoX-Forwarded-SslX-Forwarded-Prefix
  • 如果代理将常用的 X-Forwarded-ForX-Forwarded-Proto添加headers,则将 server.forward-headers-strategy 设置为 NATIVE 就足以支持这些策略。使用此选项,Web 服务器本身本身支持此功能。您可以查看其特定文档以了解特定行为。
  • 您需要确保在反向代理配置中设置了以下标头:X-Forwarded-Prefix
  • 例如,使用 Apache 2,配置:

RequestHeader=set X-Forwarded-Prefix "/custom-path"

  • 然后,在 Spring Boot 应用程序中,确保应用程序处理此标头:X-Forwarded-For。有两种方法可以实现此目的:

server.use-forward-headers=true

  • 如果这还不够,Spring Framework提供了一个ForwardedHeaderFilter.您可以通过设置 server.forward-headers-strategy 设置为 FRAMEWORK,在应用程序中将其注册为 Servlet 过滤器。
  • 从 Spring Boot 2.2 开始,这是处理反向代理标头的新属性:

server.forward-headers-strategy=framework

  • 您可以将以下 Bean 添加到您的应用程序中:
@Bean
ForwardedHeaderFilter forwardedHeaderFilter() {
   return new ForwardedHeaderFilter();
}

posted @ 2022-08-03 14:31  e3tB8Wz7  阅读(1768)  评论()    收藏  举报