【问题标题】:No ‘Access-Control-Allow-Origin- http plugin logstash没有‘Access-Control-Allow-Origin-http插件logstash
【发布时间】:2016-12-19 14:04:40
【问题描述】:

我目前正在尝试使用 tcp 输入向 Logstash 发布 JavaScript。

JavaScript 帖子

 xhr = new XMLHttpRequest();
 var url = "http://localhost:5043";
 xhr.open("POST", url, true);
 xhr.setRequestHeader("Content-type", "application/json");
 var data = JSON.stringify({"test" : hello});
 xhr.send(data);

Logstash 配置文件

input {
    tcp {
        port => 5043
    }
}

filter{
}

output {
  stdout  { 
        codec => rubydebug
    }
}

控制台输出

{
       "message" => "OPTIONS / HTTP/1.1\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.611Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Host: localhost:5043\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.620Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Connection: keep-alive\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.621Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Access-Control-Request-Method: POST\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.622Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Origin: http://atgdev11\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.623Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.626Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Access-Control-Request-Headers: content-type\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.634Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Accept: */*\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.651Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Referer: http://test/Welcome.jsp\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.653Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Accept-Encoding: gzip, deflate, sdch, br\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.719Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}
{
       "message" => "Accept-Language: en-US,en;q=0.8\r",
      "@version" => "1",
    "@timestamp" => "2016-12-15T09:58:54.720Z",
          "host" => "0:0:0:0:0:0:0:1",
          "port" => 55867,

}

我似乎看不到我的 json 数据 {"test" : hello} 传递到 logstash 我的 logstash.config 文件是否有问题?请帮忙

我也尝试了以下方法:

input {
http {
port => 5043
}
}

我得到以下错误是浏览器:

XMLHttpRequest 无法加载 http://localhost:5043/。响应 预检请求未通过访问控制检查:否 'Access-Control-Allow-Origin' 标头出现在请求的 资源。 Origin 'http://test/' 因此不允许访问。

请指导我正确的方向,我需要看什么?我对 ELK 堆栈非常陌生

谢谢

【问题讨论】:

    标签: logstash elastic-stack logstash-grok logstash-configuration


    【解决方案1】:

    如果您在 tcp 插件中添加 host 会怎样:

    input {
        tcp {            
             host => "localhost"
             port => 5043
             mode => "server" <-- change if it's a client
        }
    }
    

    或者您应该在您的 ES yml 中按照 ticket 进行以下设置:

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2014-01-12
      • 2017-06-15
      • 2018-12-12
      • 2019-01-05
      • 2016-01-21
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      相关资源
      最近更新 更多