gpt4 book ai didi

java - 允许来自任何地方的 Access-Control-Allow-Origin(Java 和 ember.js)

转载 作者:行者123 更新时间:2023-12-01 08:57:58 24 4
gpt4 key购买 nike

我在服务器端使用 Java Jersey 和 Jetty,并有以下代码:

    responseBuilder.header("Access-Control-Allow-Origin", "http://localhost:4200");
responseBuilder.header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization, auth-token");
responseBuilder.header("Access-Control-Allow-Credentials", "true");
responseBuilder.header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
responseBuilder.allow("OPTIONS");

我在客户端使用 ember.js 并具有以下代码:

/app/adapters/application.js:

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
host: 'http://127.0.0.1:20000',

ajax(url, method, hash) {
hash = hash || {};
hash.crossDomain = true;
hash.xhrFields = {
withCredentials: true
};
return this._super(url, method, hash);
}
});

代码的组合可以将 COOKIE 作为请求的一部分发送,并解决 Access-Control-Allow-Origin 问题。

但是,我担心的是“http://localhost:4200 ”是硬编码的。虽然在部署之前这不是问题,但我认为这只会限制来自 http://localhost:4200 的流量。 ?它是一个 Web 应用程序,显然我需要允许来自任何地方的任何客户端进行访问。我需要对我的代码进行哪些更改?

最佳答案

obviously I need to allow access from any client coming from anywhere

我认为这里面有一个误会。 Access-Control-Allow-Origin 指定客户端应用程序的服务器

您的客户端应用程序是否在特定源上运行?

  • 如果是:没有问题。为您的应用程序定义一些配置文件。通过这样做,您可以在生产配置文件中定义客户端应用程序服务器的来源
  • 如果否:您可以使用“*”接受cors过滤器中的所有来源。如果这段代码是您编写的,只需将第二个参数参数化为客户端的主机名即可。它应该类似于:request.getRemoteHost();

关于java - 允许来自任何地方的 Access-Control-Allow-Origin(Java 和 ember.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com