nginx代理后502

news/2025/2/25 17:58:38

直接访问 ​https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions正常

使用nginx代理后访问出现502

    server {
        listen       9999;
        server_name  172.21.3.78;
        location ^~ /compatible-mode {
            proxy_pass https://dashscope.aliyuncs.com;
        }
        location / {
          proxy_pass http://172.21.3.78:9993;
        }
    }

21#21: *5 peer closed connection in SSL handshake (104: Connection reset by peer) while SSL handshaking to upstream, client: 10.10.10.1, server: 172.21.3.78, request: "POST /compatible-mode/v1/chat/completions HTTP/1.1", upstream: "https://47.93.243.29:443/compatible-mode/v1/chat/completions", host: "172.21.3.78:9999"

原因:

在请求时DNS域名进行解析,实际请求出去的是IP与端口,但对方系统是多个域名对应一个公网IP,这个公网IP下映射到了多个项目和服务,通过nginx的server_name进行区分,所以直接请求不通。
 

解决方法:

添加 proxy_ssl_server_name on;

    server {
        listen       9999;
        server_name  172.21.3.78;
        location ^~ /compatible-mode {
            proxy_ssl_server_name on;
            proxy_pass https://dashscope.aliyuncs.com;
        }
        location / {
          proxy_pass http://172.21.3.78:9993;
        }
    }


http://www.niftyadmin.cn/n/5865799.html

相关文章

再论Spring MVC中Filter和HandlerInterceptor的优先级

在Spring MVC中,Filter和HandlerInterceptor的执行顺序及优先级如下: 1. 执行顺序与优先级 Filter(Servlet规范)的优先级高于 HandlerInterceptor(Spring MVC框架)。 请求处理流程: Filter链&a…

从0-1学习Mysql第三章: 数据类型

第三章:数据类型 在本章中,我们将学习 MySQL 中的常用数据类型,以及如何根据不同的需求选择合适的数据类型。同时,我们也会讲解 NULL 值和默认值的使用方式,以及一些常见的错误示例和面试题。通过本章的学习&#xff…

设计模式-(单例,简单工厂,工厂,抽象工厂)

单例模式 概念: 确保一个类只有一个实例,而且自行实例化并向震哥哥系统提供这个实例 应用: 无状态的,一般以工具类形式,进行提供 代码: 懒汉式,双重检查锁 class Singleton {private sta…

FutureTask 和 CompletableFuture

FutureTask 和 CompletableFuture 是 Java 并发编程中用于处理异步任务的两种工具,但它们在功能和使用场景上有显著区别。以下是两者的主要对比: 1. FutureTask 定义:FutureTask 是 Future 接口的一个实现类,表示一个异步计算任务…

java23种设计模式-建造者模式

建造者模式(Builder Pattern)学习笔记 1. 模式定义 建造者模式是一种创建型设计模式,通过分步构建复杂对象的方式,将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。 2. 适用场景 ✅ 需要创建包含多个…

2025年信息科学与工程学院科协机器学习介绍——机器学习基本模型介绍

机器学习 目录 机器学习一.安装基本环境conda/miniconda环境 二.数据操作数据预处理一维数组二维数组以及多维数组的认识访问元素的方法torch中tenson的应用张量的运算张量的广播 三.线性代数相关知识四.线性回归SoftMax回归问题(分类问题)什么是分类问题…

利用python和gpt写一个conda环境可视化管理工具

最近在学习python,由于不同的版本之间的差距较大,如果是用环境变量来配置python的话,会需要来回改,于是请教得知可以用conda来管理,但是conda在管理的时候老是要输入命令,感觉也很烦,于是让gpt帮…

C++ 继承与运算符重载的简单练习

1.长方形的继承类 #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory>using namespace std; class AB{ private:int a;int …