问题 我有一个用户界面和后端的应用程序。 UI运行Angular,后端Django。对于PRS,我使用NetLify创建构建预览。 Build Preview使用部署在其他地方的后端。

问题描述 投票:0回答:0
我有一个用户界面和后端的application
。 UI运行Angular,后端Django。对于PRS,我使用NetLify创建构建预览。 Build Preview使用已部署的后端部署的
。这对于普通部署非常有效,因为那里的API是UI(

staging.openbadges.education

api.staging.openbadges.education)的子域。但是,使用Netlify不再是这样:UI URL类似于deploy-preview-1015--openeducationalbadges.netlify.app。这意味着来自后端的身份验证饼干突然被视为第三方饼干并被浏览器阻止。

为了解决这个问题,我想通过每个Deploy Preview设置继电器,该预览将API请求转移到
api.staging.openbadges.education
,例如在
deploy-preview-1015--openeducationalbadges.netlify.app/api
Attempts

首先,我尝试更改部署预览的域名

,以便它也可以在

openbadges.education

上运行。这需要Netlify Pro,我不想要这一点
秒我设置了一个单独的NetLify站点,该网站将中继呼叫。但是,来自不同子域的饼干仍然接缝,被视为第三方饼干。我没有找到这个消息来源,我只是观察到Chrome封锁了cookie,从
oeb-api.netlify.app

然后,我试图在Netlify Angular站点上使用

deploy-preview-1015--openeducationalbadges.netlify.app

文件。但是,这是行不通的
    ,因为Angular使用
  • SSR 我尝试设置
    角代理
    。但是,这仅适用于
  • _redirects
  • 。但是netlify但是
    
    
    然后我用完了想法。我该如何解决?如何在Netlify运行Angular上设置代理?
  • 为此的一般解决方案是使用反向代理。 Netlify支持代理如所述,或者您可以设置您的反向代理。
    这使您可以根据UI或API的URL具有一个前面的域和代理。
    其他解决方案是配置您的后端,以通过允许根域存储cookie而不是同一位点cookie来放松CORS上的限制。您可以从STACKEXCHANGE上的问题中阅读更多信息。
        
angular proxy netlify third-party-cookies
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.