# 快速修复:HTTPS访问后端接口问题 ## 问题 访问 `https://jarvis.van333.cn` 时,前端请求仍然是 `http://134.175.126.60:30313/captchaImage` ## 立即执行以下步骤 ### 步骤1:创建环境变量文件 在项目根目录 `d:\code\ruoyi-vue\` 下,创建两个文件: #### 文件1:`.env.development` 内容: ``` VUE_APP_BASE_API=/dev-api ``` #### 文件2:`.env.production` 内容: ``` VUE_APP_BASE_API=/dev-api ``` **创建方法(Windows):** 1. 在项目根目录打开命令行 2. 执行: ```cmd echo VUE_APP_BASE_API=/dev-api > .env.development echo VUE_APP_BASE_API=/dev-api > .env.production ``` 或者手动创建: 1. 在项目根目录新建文件 `.env.development` 2. 在项目根目录新建文件 `.env.production` 3. 两个文件内容都是:`VUE_APP_BASE_API=/dev-api` ### 步骤2:删除旧的打包文件(如果存在) ```cmd cd d:\code\ruoyi-vue rmdir /s /q dist ``` ### 步骤3:重新打包 ```cmd npm run build:prod ``` ### 步骤4:部署到服务器 将 `dist` 目录中的所有文件复制到服务器的 `/www/sites/jarvis.van333.cn/index/` 目录 ### 步骤5:确认Nginx配置 确保nginx配置文件中包含: ```nginx location /dev-api/ { proxy_pass http://127.0.0.1:30313/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } ``` ### 步骤6:重启Nginx ```bash sudo nginx -t sudo nginx -s reload ``` ### 步骤7:清除浏览器缓存并测试 1. 按 `Ctrl + Shift + Delete` 清除浏览器缓存 2. 或者按 `Ctrl + F5` 强制刷新 3. 打开开发者工具(F12)查看Network请求 4. 确认请求URL是 `https://jarvis.van333.cn/dev-api/captchaImage` ## 验证配置是否正确 打包完成后,检查打包后的文件: ```cmd cd d:\code\ruoyi-vue\dist\static\js findstr /s /i "134.175.126.60" *.js ``` 如果找到包含该IP的文件,说明环境变量未生效,需要: 1. 确认 `.env.production` 文件存在且内容正确 2. 删除 `dist` 目录后重新打包 3. 确认打包命令是 `npm run build:prod`(不是 `npm run build`) ## 如果还是不行 检查 `vue.config.js` 第15行,应该是: ```javascript const baseUrl = process.env.VUE_APP_BASE_API || (process.env.NODE_ENV === 'production' ? '/dev-api' : 'http://127.0.0.1:30313') ``` 如果不对,说明配置未更新,需要重新保存 `vue.config.js` 文件。