vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

这篇具有很好参考价值的文章主要介绍了vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 部署过程就不说了,部署完成后是这样子的

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 然后访问链接,无法访问

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

解决

  • 依次点击 Settings–>Domains,在输入框中输入你的域名并点击 Add 按钮。

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 以此域名为例子demo.gshopfront.dreamlove.top为例,点击添加

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 我们前往域名管理系统,记录下绿色的值以腾讯云的为例

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 上图中的Name对应的是主机记录,Value对应的是记录值,记录类型选择CNAME

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 验证成功,vercel自动生成ssl证书当中

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 访问成功

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 例子http://demo.gshopfront.dreamlove.top/

vercel解决接口代理问题

  • 编译为静态文件后,代理转发没有了,跨域了,所以我们需要自己配置下代理转发给vercel使用

  • 一模一样添加完成https://segmentfault.com/a/1190000042276351?sort=newest

  • 安装开发依赖

npm i -D http-proxy-middleware
  • 目录建立vercel.json,注释记得删除
//注释记得删除
{
  "rewrites": [
    {
      "source": "/api/(.*)", //要匹配的路径前缀(我们本地访问的路径),结合自己的前缀设置
      "destination": "/api/proxy" //需要转发给哪一个目录下的配置
    }
  ]
}
  • 建立api/proxy.js文件
    • 注意: 由于这里的接口不需要pathRewrite,所以就删除了pathRewrite配置
      • 效果,当我们访问搭建好的目录https://demo.gshopfront.dreamlove.top/api/user的时候,就会被转发给http://gmall-h5-api.atguigu.cn/api/user
    • 如果需要去除掉api这个前缀,就把pathRewrite打开,
      • 效果:当我们访问搭建好的目录https://demo.gshopfront.dreamlove.top/api/user的时候,就会被转发给http://gmall-h5-api.atguigu.cn/user,(去除掉了api)
// api/proxy.js
// 该服务为 vercel serve跨域处理
const { createProxyMiddleware } = require('http-proxy-middleware')

module.exports = (req, res) => {
    let target = ''
    // 代理目标地址
    // 这里使用 backend 主要用于区分 vercel serverless 的 api 路径
    // target 替换为你跨域请求的服务器 如: http://gmall-h5-api.atguigu.cn
    if (req.url.startsWith('/api')) {
        target = 'http://gmall-h5-api.atguigu.cn'
    }
    // 创建代理对象并转发请求
    createProxyMiddleware({
        target,
        changeOrigin: true,
        pathRewrite: {
            // 通过路径重写,去除请求路径中的 `/api`
            // 如果开启了,那么 /api/user/login 将被转发到 http://gmall-h5-api.atguigu.cn/user/login
            //'^/api/': '/',
        },
    })(req, res)
}
  • 目录结构

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 编辑好后推送,然后等待重新编译
  • 之后会出现此下拉栏目

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 如果没有出现Functions栏目,就点击这里

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 这样子也可以出现Function

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 选择我们的api/proxy

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 然后就可以正常啦

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 如果部署遇到这种问题error @achrinza/node-ipc@9.2.2: The engine "node" is incompatible with this module. Expected version "8 || 10 || 12 || 14 || 16 || 17". Got "18.13.0"

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

  • 发现vercel设置node版本后重新部署也不行,不知道为什么,…

vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)

netlify解决接口代理问题

  • 建立netlify.toml文件
[[redirects]]
  from = "/prod-api/*"
  to = "http://gmall-h5-api.atguigu.cn/:splat"
  status = 200
  • 在netlify网站请求接口如果使用 http://localhost/prod-api/news 就会被转发到 https://http://gmall-h5-api.atguigu.cn/news 来获取 news 接口数据。

    • 部署演示地址:https://demo.gshopfront.dreamlove.top/
  • 官方的配置说明

    • https://docs.netlify.com/configure-builds/file-based-configuration/#headers
    • https://docs.netlify.com/routing/redirects/redirect-options/
    • https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file

参考文章

  • https://segmentfault.com/a/1190000042276351?sort=newest

  • https://www.jianshu.com/p/09d753c75fc7

  • React项目全球新闻发布管理系统 - 新版问题解决方式整理及部署网站至 Netlify

    • 照片备份大法

    vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)文章来源地址https://www.toymoban.com/news/detail-481789.html

到了这里,关于vercel和netlify部署代码并解决接口代理转发的问题(和Nginx功能一样)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目部署后,前端vue代理失效问题解决

    title:工作日记,前段后分离项目,在部署时遇到的问题,Vue项目打包成dist文件之后放在服务器上,通过运行java-jar包,在application.yml中引入静态资源的方式访问前端。如下图所示: 问题1 :前端页面是可以访问到了,但是后端访问不到,在本地中运行就可以。 首先前端我在

    2024年02月03日
    浏览(40)
  • nginx 反向代理服务器端口转发问题

    先介绍一下项目背景,公司里有个外包Saas项目,这里假设为A项目( 前后端不分离 );项目架构大概如下;但是项目部署到生产环境时,那台服务器80端口被其他应用占用了(我尼玛...),nginx监听端口那边只能监听其他端口了,比如监听:18000,通过nginx反向代理将18000端口转发到

    2024年02月04日
    浏览(56)
  • 前端部署项目后nginx转发接口404(页面正常)

    目录 1.前言  2. 场景复现: 3.问题的原因: 4.使用nginx一般要注意的小细节:   1.  location / 写在下面,其他的转发如/v1写在上面​编辑  2.如何查看nginx转发请求到哪里了?  3.怎么写自己的前端路径? 5.使用nginx常用的命令: 6.常用nginx配置文件(可以参考,根据自己实际项

    2024年02月08日
    浏览(46)
  • 使用nginx方向代理部署Vue项目刷新页面404的问题解决

    部署出现的问题为:由于项目中使用的vue router 项目直接使用node环境部署项目,在同一个路由如: 192.168.1.30:/home刷新浏览器正常 nginx部署刷新不出现404 /nginx not found 如何解决? 以下是我的想法:似乎是nginx代理使其直接访问文件,而没有使项目的路由生效从而正确加载资源 这

    2024年02月07日
    浏览(57)
  • lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

    下载使用 链接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取码:htay –来自百度网盘超级会员V5的分享 ad_load.lua文件

    2024年01月18日
    浏览(66)
  • 前端打包部署后接口BASE_URL不对问题解决办法

    在前端打包部署时,为了免去不同环境打包的麻烦,项目用的流水线触发方式。在这里不细说,重点说说下面情况。 当项目提交打包部署后,访问压测环境或者生产环境的地址来使用项目时,发现接口报错404。  在NETWORK里发现接口的BASEURL和当前环境需要调用的后端baseurl不同

    2024年02月11日
    浏览(44)
  • Vercel 部署静态页面教程

    博客链接:https://www.iaesun.com 所有文章都在里面,可以进去查找 vercel 官方地址: Develop. Preview. Ship. For the best frontend teams – Vercel 注册登陆都应该会把,这里建议使用github注册 注册成功后进入页面,点击  Add New -project image.png 然后通过绑定的  github  或者  gitlab  导入需要部

    2024年02月04日
    浏览(92)
  • 保姆级别 Vercel 部署 ChatGPT

    最近ChatGPT都火出圈了,你还在用别人的服务吗? 你还在用别人的域名吗?你还在为网络感到烦恼吗?今天,这篇文章带你部署自己的ChatGPT   这里用 ChatGPT项目 进行部署,Vercel 进行部署 1、Github 注册账号   GitHub   2、Vercel 注册账号    Vercel  我这里是用github账号进行登录

    2024年02月05日
    浏览(43)
  • 本地调试接口关于postman调用正常,Java代码则超时的问题。已解决

    项目需要使用到openai接口,浏览器以及postman调用接口均正常,唯独java项目中一直超时,本地项目使用的hutool自带的httpUtil工具类。 使用postman调取接口正常返回: 本地java项目调取超时: 代码如下: 百度大概搜了一下,大多都是让设置idea的系统代理,都没有解决掉这个问题

    2024年02月05日
    浏览(51)
  • 第十四章 使用Vercel部署在线文档

    文档网站需要发布到互联网上才能让更多的人知道。传统的发布方法需要做以下准备。 Linux服务器; 网页服务软件 Nginx; 购买域名 + 实名认证; HTTPS 证书; Sftp 上传工具; Github Action CI 自动发布最新文档。 这里面租用服务器和域名需要一笔花费。安装 Linux、Nginx,配置域名

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包