当前位置: 首页 > 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.lryc.cn/news/622666.html

相关文章:

  • JavaScript forEach() 与 for 循环 return 行为全解析
  • 1083. 数列极差问题
  • 2025暑期—10ROS系统实现-计算图
  • Linux sar命令详细使用指南
  • 【CV 目标检测】Fast RCNN模型①——与R-CNN区别
  • 【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-用户管理
  • 基于Python的课程作业管理系统 Python+Django+Vue.js
  • .net印刷线路板进销存PCB材料ERP财务软件库存贸易生产企业管理系统
  • 《Python 单例模式(Singleton)深度解析:从实现技巧到争议与最佳实践》
  • pytest tmpdir fixture介绍(tmpdir_factory)(自动在测试开始前创建一个临时目录,并在测试结束后删除该目录)
  • C#单元测试(xUnit + Moq + coverlet.collector)
  • STM32 软件I2C读写MPU6050
  • 云服务平台主流架构的相关知识体系剖析
  • 完整设计 之 智能合约系统:主题约定、代理协议和智能合约 (临时命名)----PromptPilot (助手)答问之2
  • 智能合约:区块链时代的“数字契约革命”
  • C++ STL-string类底层实现
  • 《WebPages 数据库:构建高效网络信息管理平台的关键技术解析》
  • RK3568 NPU RKNN(四):RKNN-ToolKit2性能和内存评估
  • Vue3从入门到精通:5.2 Vue3构建工具与性能优化深度解析
  • 微软Wasm学习-创建一个最简单的c#WebAssembly测试工程
  • PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
  • 【C 学习】06-算法程序设计举例
  • [1Prompt1Story] 注意力机制增强 IPCA | 去噪神经网络 UNet | U型架构分步去噪
  • 智慧景区导览系统:基于WebGL的手绘地图导览设计与应用,DeepSeek大模型赋能精准游客引导服务
  • OBOO鸥柏丨75寸/86平板企业办公会议触控一体机核心国产化品牌招投标参数
  • eChart饼环pie中间显示总数_2个以上0值不挤掉
  • VS Code配置MinGW64编译非线性优化库NLopt
  • AI云电脑盒子技术分析——从“盒子”到“算力云边缘节点”的跃迁
  • JetPack系列教程(八):PDF库——让Android应用也能优雅“翻页”