Nginx反向代理Vue项目(代理项目地址和解决跨域)

正向代理

正向代理需要客户端特殊设置,才能访问到某个网站,例如google

反向代理

反向代理是通过服务端设置,代理服务器用的,用户无感知

开发vue项目时通过nginx反向代理访问文件地址和接口。

vue 服务端口 9527
/api/ 请求地址(跨域)http://test.com:8882/

4399 nginx服务端口号(启动服务之后通过它来访问项目)

  1. 通过 http://localhost:4399 访问项目
  2. vue项目中请求地址若为 /getUserInfo 写为 /api/getUserInfo 即可正常访问(解决跨域

nginx.conf 配置


server {
       listen       4399;
       server_name  localhost;
       
   location / {
           proxy_pass http://192.168.1.147:9527;    #项目真实地址(写成http://localhost:9527访问很慢,不知道是啥原因)
       }
       
   location /api/ {
           proxy_pass http://test.com:8882/;  #跨域接口地址
       }
       
}
       

开发时解决跨域更推荐这种方法

// vue.config.js
module.exports = {
devServer: {
  proxy: {
      '/api': {
        target: 'http://test.com:8882',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '' // 这里理解成用‘/api’代替target里面的地址,比如调用'http://test.com:8882/users',直接写‘/api/users’即可
        }

      }

    }
}
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值