V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
guansixu
V2EX  ›  程序员

没想到 2026 年,还要浪费大量时间在跨域问题上

  •  
  •   guansixu · 1 小时 51 分钟前 · 2602 次点击

    公司后端写的接口部署到测试环境了,访问之后发现跨域了,把浏览器的跨域截图发给后端开发,问我报什么错了?难道都 2026 年还不理解跨域是什么原理吗?还需要我给他科普一下吗?心累。

    52 条回复    2026-04-23 11:12:16 +08:00
    Hilong
        1
    Hilong  
       1 小时 49 分钟前
    还有这么菜的开发吗,这种还能混下去真幸福啊
    programMrxu
        2
    programMrxu  
       1 小时 48 分钟前   ❤️ 6
    之前我司有个人把解决跨域写在了年会上
    lusxh
        3
    lusxh  
       1 小时 42 分钟前 via iPhone   ❤️ 3
    菜鸡互啄
    yakumo520
        4
    yakumo520  
       1 小时 42 分钟前
    想知道后续那个后端怎么处理的跨域(狗头)
    Monad
        5
    Monad  
       1 小时 42 分钟前 via iPhone
    你别说 如果是 server 开发来顶替 web 开发
    确实很多浏览器的行为不是很清楚
    lscho
        6
    lscho  
       1 小时 34 分钟前
    虽然我觉得很菜,但是部分螺丝钉企业还这能理解。。。因为跨域本身是浏览器的行为,如果部署的时候再用容器化技术,响应头都是运维来设置,开发测试的时候前端再用个反代,后端没接触过也正常
    Cruzz
        7
    Cruzz  
       1 小时 34 分钟前   ❤️ 4
    前端自己配个代理不就完事了么。自己解决就没那多 b 事了。
    giter
        8
    giter  
       1 小时 33 分钟前
    如果是纯后端,没有深度理解跨域也很正常,感觉很多跨域问题的帖子都是前端开发提出来的
    ufan0
        9
    ufan0  
       1 小时 31 分钟前
    其实大可不必如此,让生活美妙些!

    直接告诉他是跨域的问题让他解决即可,若知会过后仍来问你,再挂吧。
    musi
        10
    musi  
       1 小时 30 分钟前
    @Cruzz #7 6
    bestie
        11
    bestie  
       1 小时 26 分钟前
    @Cruzz #7 还是你懂
    ebushicao
        12
    ebushicao  
       1 小时 21 分钟前
    我多年前实习的时候也碰到过一个这种后端,技术拉完了,登录接口来个 url 参数传账号密码,还要明文。然后每天都会提到他的摸摸唱经历,还好那家公司一个月不到就倒闭了。

    一说又想起来,那老板也是奇葩,国外留学回来的一个女的,上来说什么武汉有几千万环卫...过于愚蠢我都没有插话。
    Incrus
        13
    Incrus  
       1 小时 20 分钟前
    这个为啥要截图发给后端开发?为什么部署到测试环境才发现跨域?不是开发环境就应该知道跨域了并通过 dev server proxy 解决了?测试生产配个 ng 反代自己解决就是了。你还心累上了🤪
    bli22ard
        14
    bli22ard  
       1 小时 17 分钟前
    有没有可能是你的问题
    ARIInV2
        15
    ARIInV2  
       1 小时 16 分钟前
    @programMrxu 咱们该叫啥来着
    ARIInV2
        16
    ARIInV2  
       1 小时 16 分钟前
    @Cruzz 确实,服务也应该前端写
    xxyang
        17
    xxyang  
       1 小时 12 分钟前
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers *;
    add_header Access-Control-Allow-Methods *;
    X0V0X
        18
    X0V0X  
       1 小时 12 分钟前
    @Cruzz 然后上生产还是跨域,哥两一起加班
    YanSeven
        19
    YanSeven  
       1 小时 11 分钟前
    从描述上无法判断楼主是后端还是前端
    Garwih
        20
    Garwih  
       1 小时 10 分钟前   ❤️ 1
    才十几个回复就有好几个不懂的了,跨域问题让前端配代理🤣。
    AI 淘汰的人还是太少了。
    ronyin
        21
    ronyin  
       1 小时 7 分钟前
    这玩意对于 AI 就 1 分钟解决的事情。。
    lujiaosama
        22
    lujiaosama  
       1 小时 7 分钟前
    @xxyang 无条件放行,这么勇?
    xxyang
        23
    xxyang  
       1 小时 5 分钟前
    @lujiaosama 真的要搞你,岂是几个头能拦住
    lujiaosama
        24
    lujiaosama  
       1 小时 4 分钟前
    @xxyang 别的不说,至少对象存储得拦一下吧。
    xd666888
        25
    xd666888  
       1 小时 1 分钟前
    正确方法是前端配置代理+后端配置 nginx 转发解决跨域。所以这不是前后端两个人的问题么
    sagnitude
        26
    sagnitude  
       57 分钟前
    @Garwih 测试环境本地 hosts 写个转发,本地 nginx 监听,转发的时候强行加个头,咋不行了,又不是发布环境,如果后端真不懂,你等他搞还真不如本地转发下
    andyskaura
        27
    andyskaura  
       49 分钟前
    @Garwih op 是测试环境发现跨域,这样解决也没啥问题啊
    lscho
        28
    lscho  
       48 分钟前   ❤️ 1
    @Garwih 感觉是你不懂,AI 淘汰的说不定就是你咯。。。

    开发环境下,跨域一直都是前端配置的,比如 vite/webpack 都提供的有配置
    上线之后,有 BFF 层的项目也是前端处理的。没有 BFF 层的还有一部分是运维处理的,真让后端处理的才是比较少的。

    而且因为有 access-control-allow-headers 这个配置,具体怎么配置,一定是有前端参与沟通的指定的,反而是后端不一定会管这个事。
    tf2
        29
    tf2  
       46 分钟前
    不要笑。现在 AI 厂家原生支持跨域的有多少?

    甚至明明可以 API key <-> origin 双向绑定加强安全性的。
    zgsi
        30
    zgsi  
       46 分钟前
    接口部署到了测试环境你不应该在本地代理测试环境或者也发到测试环境吗
    Cruzz
        31
    Cruzz  
       38 分钟前
    @ARIInV2 #16 上纲上线来说,这是测试环境,如果你用测试环境页面访问测试环境接口跨域,找后端,找运维都没问题,自己本地连测试环境接口跨域不很正常,不解决不也正常?不上纲上线,你都说了他菜,费半天劲解决不了,浪费时间浪费精力,自己反代一下很困难么,不会就别说人家菜了。最烦 bb 赖赖的。越菜的 b 话越多。
    CHTuring
        32
    CHTuring  
       36 分钟前   ❤️ 1
    @Cruzz #7 6 ,去养猪吧
    maichael
        33
    maichael  
       35 分钟前
    - 如果你的应用本身只是小应用,用的人不多,那么你用「 BFF/反向代理」简易搭一个都没问题
    - 但是如果你的应用相对比较大,复杂度比较高,我觉得还是应该老老实实配置 CORS ,多一层「 BFF/反向代理」反而会带来很多麻烦,包括性能、成本,还有「代理」本身还需要监控、管理,错误排查链路更复杂,SSE 之类支持更复杂等,除非你真的需要「 BFF 」,不然的话,加多一个实体就是加多一层麻烦。
    shaozelin030405
        34
    shaozelin030405  
       35 分钟前
    @Cruzz 配代理如果出了问题,会说你为什么配代理,导致安全扫描 balabala 有问题。还是得后端自己启动,前端不管,后端想办法去
    liumao
        35
    liumao  
       30 分钟前
    合久必分,分久必合
    maichael
        36
    maichael  
       30 分钟前
    另外,测试环境跟生产环境有架构上的差异会导致测试环境丢失很多它原来能起到的作用。
    yuanxiaosong
        37
    yuanxiaosong  
       28 分钟前
    这玩意不都是运维搞吗,运维会在 nginx 处拦截,判断是否是公司域名或者白名单域名,使用“add_header Access-Control-Allow-Origin 请求域名;”设置跨域,并且还要使用"proxy_hide_header Access-Control-Allow-Origin;"隐藏后端返回的跨域,防止双重跨域并且禁止使用*设置跨域值。
    Cenat
        38
    Cenat  
       27 分钟前   ❤️ 2
    要么一直做前后端同源的项目
    要么大公司出来的,这种事情有 SRE 来负责
    要么做的项目 nginx 反代 cors 配置都是别人弄好了 不需要他关心
    我也不知道楼里在优越什么。。。
    Sezxy
        39
    Sezxy  
       25 分钟前
    日常前端吐槽后端不懂 CORS
    Garwih
        40
    Garwih  
       24 分钟前
    @sagnitude
    @andyskaura
    @lscho #28 楼主都说了上测试环境了,明显开发环境已经配了反向代理。测试环境还让前端用 vite/webpack 配代理就是完全不懂 CORS 。作为 Web 后端不懂 CORS ,要么就是纯螺丝钉,工作过的公司都是运维弄好。要么就是菜了。
    yuanxiaosong
        41
    yuanxiaosong  
       21 分钟前
    正式、开发和测试环境跨域由运维配置,前端本地联调两个方案:
    1. 让运维把 localhost/127.0.0.1 加白名单;
    2. 前端自己启动一个 nginx 再反代;
    如果公司有明确的运维,除非你直接调用后端服务,不走任何代理,否则跨域不该后端管(我司后端在代码中手动写跨域也不生效),后端兼管反代程序的另算;
    CHTuring
        42
    CHTuring  
       19 分钟前
    @X0V0X #18 可能他们不需要上生产、也不需要发测试,本地写好就可以了。请访问 http://localhost:5173
    giter
        43
    giter  
       18 分钟前
    @Cenat 正解,很多人以为自己遇到过跨域问题并且解决了跨域问题,就想当然以为别家公司也有很多人应该懂,从来没去考虑过为啥很多人都不懂,难道大家伙天天都要面对跨域这个问题吗?有些操作后端开发其实都不需要处理的,不懂也正常,不要简单套用自己的规则强加给别的开发
    angeni
        44
    angeni  
       18 分钟前
    我也不是懂哥什么都懂,但是我感觉都是打个螺丝没必要比谁更专业。

    一个茅坑能有不同物种的大便吗?
    guansixu
        45
    guansixu  
    OP
       15 分钟前
    @yakumo520 我找运维给把页面配置到接口的同一个域名和端口下面了
    andyskaura
        46
    andyskaura  
       12 分钟前
    @Garwih #40 你的主题已经飘了,以及,跨域问题你聊到反向代理,vite/webpack ,有一定联系,但还是很奇怪,不太确定。 建议你多回复几条大家再看看
    rich1e
        47
    rich1e  
       11 分钟前
    有些后端不是一般的菜,例如:

    - 公司后端写的接口部署到测试环境了,访问之后发现跨域了 [测试环境跨域,后端部署之前不检查吗?]
    - 把浏览器的跨域截图发给后端开发,问我报什么错了? [娘 xp ,都 2026 年,跨域报错都看不懂?]

    楼上还有说,本地配置代理?你 tm ,真是个人才。

    现在都 2026 年,后端不懂跨域,理所应当?
    bzj
        48
    bzj  
       8 分钟前
    标准方案就是前端自己配代理服务,前端既然要搞工程化就要解决这种问题,后端不仅不用帮你解决跨域而且还要限制死,毕竟这是运维的事
    flytsuki
        49
    flytsuki  
       6 分钟前
    后端能解决,前端也能解决,看谁去解决
    hushuikun
        50
    hushuikun  
       6 分钟前
    前后端互相看不起,那看看谁先被 AI 淘汰咯
    bzj
        51
    bzj  
       3 分钟前
    @lscho #28 有时候感觉前端挺迷惑的,本来专心写写页面改改样式就好了,数据就让前后端联调,他们非要搞一套工程化,一上来就安装各种服务各种包,越搞越复杂,但是稍微涉及到点原理的他们又理解不了
    635925926
        52
    635925926  
       1 分钟前
    @Cruzz #31 上纲上线来说,测试环境出的问题不解决,反而取巧,正式仍然会出问题。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5638 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 114ms · UTC 03:14 · PVG 11:14 · LAX 20:14 · JFK 23:14
    ♥ Do have faith in what you're doing.