素材牛VIP会员
如何在服务端配置node代理的接口
 黄***得  分类:Node.js  人气:999  回帖:2  发布于6年前 收藏

用webpack开发项目,需要用node代理一个接口。我将代理接口的代码保存在项目根目录下的prod.server.js中。
代码如下:`var express = require('express')
var compression = require('compression')
var config = require('./config/index')
var axios = require('axios')

var port = process.env.PORT || config.build.port

var app = express()

var apiRoutes = express.Router()

apiRoutes.get('/getDiscList', function (req, res) {
var url = 'https://x.xx.com/splcloud/fcg...'
axios.get(url, {

headers: {
  referer: 'https://x.xx.com/',
  host: 'x.xx.com'
},
params: req.query

}).then((response) => {

res.json(response.data)

}).catch((e) => {

console.log(e)

})
})

app.use('/api', apiRoutes)

app.use(compression())

app.use(express.static('./dist'))

module.exports = app.listen(port, function (err) {
if (err) {

console.log(err)
return

}
console.log('Listening at http://localhost:' + port + 'n')
})`

项目打包压缩后,在本地模拟线上环境,命令行中输入node prod.server.js,一切都是没有问题的,数据都可以正常取到。但是将dist目录下的文件传至服务器项目目录相应的目录中,代理接口就失效了,报404错误。可以发现问题的症结是我没有在服务端配置代理接口的代码。这方面我也不是很懂,不知有哪位仁兄可以不吝赐教一下,先谢谢了。(我购买的空间是阿里云的弹性web托管)

 标签:node.jsjavascript

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv5 码农
陈***康 学生 6年前#1

本地开发是 express 在代理端口提供服务,当你打包后就是纯静态资源了,要访问的话一般是配置 Nginx 来代理的,具体阿里云的弹性web托管这边该怎么做没接触过,估计加上 Nginx 关键词都能搜索得到

Lv5 码农
那***美 CEO 6年前#2

nginx反向代理

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取