[英]Deploying Angular 2 (quickstart app) to Google Cloud platform
[英]i can't connect to my elastic search in google cloud platform
我在项目中使用angular 5,并且已经在gcp中设置了elasticsearch和kibana。 一切正常,直到我尝试将其连接到我的项目。 我知道我必须发送我的凭据,但是它没有用,我还尝试在elasticsearch.yml中添加一些CORS,但是完全没有进展。 因为我的数据库是firebase,并使用它服务来创建我的弹性搜索实例。 我想将其连接到我的项目中,有人可以帮助我吗? 谢谢
这是我的代码:
var client = new elasticsearch.Client({
host: 'http://user:pass@35.225.247.57//elasticsearch',
log: 'trace',
});
client.ping({
// ping usually has a 3000ms timeout
}, function (error) {
if (error) {
console.trace(error);
} else {
console.log('All is well');
}
});
这是服务器的响应
Failed to load http://35.225.247.57//elasticsearch/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 401.
我在elasticsearch.yml中添加了一些CORS
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, Authorization"
确保将http.cors.enabled
设置也设置为true
使用合理的值配置http.cors.allow-origin
( *
可以进行测试,但是您不应该使用该值进行生产;将其限制为要使用的来源)
然后,您必须在更改配置后重新启动ElasticSearch服务。
sudo systemctl stop elasticsearch.service
sudo systemctl start elasticsearch.service
对于它的价值,您还应该禁用纯文本HTTP访问并仅切换到HTTPS。 特别是因为您以明文形式传递凭据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.