当前位置: 首页 > news >正文

Nginx域名和IP兼容双方的API地址

核心配置分析

Nginx配置中定义了一个监听80端口的服务器块,域名绑定为1.2.3.4和www.baidu.cn。主要功能是作为反向代理将请求转发到本地8080端口的/ahwl/路径。

代理设置特性

标准化请求头传递:包含Host、客户端真实IP(X-Real-IP)、转发链信息(X-Forwarded-For)以及协议类型(X-Forwarded-Proto)
动态CORS策略:允许任意来源($http_origin),支持所有常见HTTP方法,暴露常用请求头字段,并启用凭证模式
预检请求优化:对OPTIONS方法直接返回204状态码,避免无效后端请求
路径处理机制

代理目标地址固定为http://127.0.0.1:8080/ahwl/
Cookie路径重写:将后端的/ahwl/路径映射到根路径/
重定向修正规则:覆盖三种可能的Location头重定向场景(本地地址、IP地址、域名地址)server {
listen 80;
server_name 1.2.3.4 www.baidu.cn;

# 通用代理设置
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 通用 CORS 设置
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Max-Age' 1728000 always;
# 处理主应用请求
location / {if ($request_method = 'OPTIONS') {return 204;}# 统一代理到后端应用proxy_pass http://127.0.0.1:8080/ahwl/;# 修正Cookie路径问题proxy_cookie_path /ahwl/ /;# 处理可能的重定向问题proxy_redirect http://127.0.0.1:8080/ahwl/ /;proxy_redirect http://1.2.3.4/ahwl/ /;proxy_redirect http://www.baidu.cn/ahwl/ /;
}
http://www.dtcms.com/a/334304.html

相关文章:

  • GaussDB 数据库架构师修炼(十三)安全管理(3)-数据库审计
  • 使用npm/pnpm自身安装指定版本的pnpm
  • JavaWeb开发_Day14
  • 如何在 Ubuntu 24.04 Server 或 Desktop 上安装 XFCE
  • 我的世界Java版1.21.4的Fabric模组开发教程(十八)自定义传送门
  • 边缘计算及其特点
  • 学习日志35 python
  • Python Day30 CSS 定位与弹性盒子详解
  • CodeBuddy IDE深度体验:AI驱动的全栈开发新时代
  • 缓存一致性总线协议(Cache Coherence Protocols)的发展过程
  • LangChain4j:基于 SSE 与 Flux 的 AI 流式对话实现方案
  • Honor of Kings 100star (S40) 2025.08.16
  • 11-verilog的RTC驱动代码
  • 10-verilog的EEPROM驱动-单字节读写
  • OpenCV安装及配置
  • 机器学习核心概念精要:从定义到评估
  • 从频繁告警到平稳发布:服务冷启动 CPU 风暴优化实践222
  • 利用 Java 爬虫按图搜索淘宝商品(拍立淘)实战指南
  • AirReceiverLite:轻松实现手机隔空投屏
  • [typescript] interface和type有什么关系?
  • Spark 数据分发性能深度剖析:mapPartitions vs. UDF – 你该选择哪一个?
  • 矩阵链相乘的最少乘法次数(动态规划解法)
  • KVM虚拟化技术解析:从企业应用到个人创新的开源力量
  • Langfuse2.60.3:独立数据库+docker部署及环境变量详细说明
  • AutoDL使用学习
  • 第二十八节 业务代表模式
  • Custom SRP - Baked Light
  • tree组件(几种不同分叉树Vue3)
  • Qt QDateTime时间部分显示为全0,QTime赋值后显示无效问题【已解决】
  • 从零开始大模型之实现GPT模型