nginx 反向代理配置问题
express + nginx 项目,代码上线后,单独访问接口是可以的,但是在前端项目中调接口的时候就报 405,有大哥知道这是怎么回事吗?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;
}
}
单独访问接口,指的是用postman之类的访问么,这样的话就是前端请求的问题了
加 nginx 日志,看前端项目过来的请求是什么样子。
405 一般情况都是请求方式错误,比如接口是
get
前端发的是post
应该还是跨域了 如果你的项目是小程序的话 还要在安全权限里面添加你服务器的地址才能访问到后台的 先判断是不是后台跨域有问题 随便写个html页面加个Ajax请求访问服务器的测试方法 方法里面直接返回个数字之类的就行