avatar

mdo

Hello

  • 首页
  • 知识库
  • 归档
  • 标签
  • 关于
主页 生产环境(Nginx 反向代理)
文章

生产环境(Nginx 反向代理)

发表于 2026-08-23 更新于 2026-08- 23
作者 mdo
6~8 分钟 阅读

在 Vue 项目中配置 MaxCMS 接口跨域,并使用 /api/proxy 作为前端路由前缀,需要区分开发环境(Webpack/Vite 代理)和生产环境(Nginx 反向代理)。

以下是完整的配置方案:

一、 开发环境配置(Local Development)

根据你 Vue 项目的构建工具(Vue CLI 或 Vite)选择对应文件进行配置。

1. 如果是 Vue CLI 项目 (Vue 2 / Vue 3 旧版)

修改根目录下的 vue.config.js: [1, 2]

javascript

module.exports = {
  devServer: {
    proxy: {
      // 匹配所有以 /api/proxy 开头的请求
      '/api/proxy': {
        target: 'http://你的MaxCMS域名或IP', // 例如: http://maxcms.com
        changeOrigin: true,                // 允许跨域
        pathRewrite: {
          '^/api/proxy': ''                // 移除请求路径中的前缀,直接转发给 MaxCMS 接口
        }
      }
    }
  }
}

请谨慎使用此类代码。

2. 如果是 Vite 项目 (Vue 3 新版)

修改根目录下的 vite.config.js: [1]

javascript

// ... 省略插件引入
export default defineConfig({
  // ... 其他配置
  server: {
    proxy: {
      '/api/proxy': {
        target: 'http://你的MaxCMS域名或IP', 
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api\/proxy/, '') // 移除前缀
      }
    }
  }
})

请谨慎使用此类代码。


二、 前端 Axios 请求封装

在配置好代理后,前端代码中的 baseURL 必须设置为 /api/proxy。

javascript

import axios from 'axios'

const request = axios.create({
  // 开发环境下,Axios 请求 /api/proxy/api.php,被代理转发至 http://你的MaxCMS域名或IP/api.php
  baseURL: '/api/proxy', 
  timeout: 5000
})

// 示例:获取 MaxCMS 视频列表
export const getVideoList = () => request.get('/api.php/provide/vod')

请谨慎使用此类代码。


三、 生产环境配置(Nginx 部署)

生产环境需在 Nginx 中设置反向代理,解决跨域问题。 [1]

nginx

server {
    listen 80;
    server_name 你的前端域名;

    # 代理 /api/proxy/ 到 MaxCMS
    location /api/proxy/ {
        proxy_pass http://你的MaxCMS域名或IP/; # 注意尾部 / 用于去掉匹配前缀
        proxy_set_header Host $host;
        # ... 其他 proxy_set_header 配置
    }
}

请谨慎使用此类代码。

为了让配置更准确,建议提供以下信息:

  • 你的 Vue 项目是用 Vite 还是 Vue CLI (Webpack) 创建的?

  • 打包上线后是准备部署在 Nginx 上,还是使用其他方式(如 Node/宝塔面板)?

许可协议:  CC BY 4.0
分享

相关文章

下一篇

OpenAI 标准接口

上一篇

Python 服务来实现多智能体协作

最近更新

  • 比尔盖茨的智慧:想多赚钱,就每天循环做这3件事
  • iOS 侧载(Sideloading)工具
  • 程序员越想创业,越不要急着动手
  • 注册 Chat Participant
  • 中秋给在外游子的一封信

热门标签

API CodeGeex Coding Cursor DeepSeek Docker Gitkraken Harness Laravel Management

目录

©2026 mdo. 保留部分权利。