nginx 反向代理配置问题

express + nginx 项目,代码上线后,单独访问接口是可以的,但是在前端项目中调接口的时候就报 405,有大哥知道这是怎么回事吗?nginx 配置如下:

nginx 代理配置问题
前端项目配置了跨域,代码如下

import { defineConfig } from "vite";

export default defineConfig({
  ...
  server: {
    open: true,
    proxy: {
      "/api": {
        target: nginx 中配置的 server_name,
        changeOrigin: true,
      },
    },
  },
 ...
});

前端的配置文件如下:

server {
    listen 80;
    listen 443 ssl;

    server_name aaa.com;

    root /data/wwwroot/aaa/dist;

    index index.html;

    ssl_certificate /usr/local/nginx/conf/ssl/aaa.com.pem;
    ssl_certificate_key /usr/local/nginx/conf/ssl/aaa.com.key;

    location / {
        try_files $uri $uri/ /index.html;
    }

}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 7

单独访问接口,指的是用postman之类的访问么,这样的话就是前端请求的问题了

1年前 评论
qingshui (楼主) 1年前

加 nginx 日志,看前端项目过来的请求是什么样子。

1年前 评论
qingshui (楼主) 1年前

405 一般情况都是请求方式错误,比如接口是 get 前端发的是 post

1年前 评论
qingshui (楼主) 1年前

应该还是跨域了 如果你的项目是小程序的话 还要在安全权限里面添加你服务器的地址才能访问到后台的 先判断是不是后台跨域有问题 随便写个html页面加个Ajax请求访问服务器的测试方法 方法里面直接返回个数字之类的就行

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!