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;
    }

}
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

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

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

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

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

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

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

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

1年前 评论

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