CORS error while making post request to logstash -- [Question Asked]

Query asked by user

I have configured Logstash 1.5.2 to consume http input on a linux machine.

This is my logstash input configuration:

input {
        http {
                host => "10.x.x.120"
                port => "8500"
        }
}

I can send data to logstash by using curl -XPOST from the linux machine.

But when I make a $http.post(url, postData); request from my angularJS application I get the following error:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading
the remote resource

I have hosted my application on the same linux machine using nginx within a docker container.
I have tried to configure nginx to allow CORS by adding the following lines to the nginx.conf:

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

But still the error persists.

Also when I hit http://10.x.x.120:8500 from my browser address bar I get ‘ok’.

enter image description here
enter image description here
Any help is highly appreciated.
Thanks.

Answer we found from sources

I was able to get this running by using reverse-proxy setting for nginx.

I modified my URL to be as follows:
http://10.x.x.120/logs

And then made the following changes to the nginx.conf file:

location^~ /logs {
    proxy_pass http://10.x.x.120:8500; 
}

Now when ever my application makes an HTTP POST request to http://10.x.x.120:8500/logs it is redirected to http://10.x.x.120:8500.

Voila!! Logstash gets the data because it is listening to port 8500.

Answered By – JSNinja

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0


What is Angular?

Angular is an open-source, JavaScript outline written in TypeScript. Google keeps up with it, and its basic role is to foster single-page activities. As an edge, Angular enjoys clear benefits while likewise outfitting a standard design for formulators to work with. It empowers stoners to deliver huge tasks in a viable way. textures overall lift web improvement viability and execution by outfitting an agreeable construction so that formulators do n't need to continue to modify regulation from scratch. textures are efficient devices that offer formulators a large group of extra elements that can be added to programming easily.

However, is JavaScript ideal for creating single-sprinter activities that bear particularity, testability, and trend-setter efficiency? maybe not.

JavaScript is the most by and large utilized client-side prearranging language. It's composed into HTML reports to empower relations with web sprinters in endless extraordinary ways. As a genuinely simple to-learn language with inescapable help, creating current operations is appropriate.

Nowadays, we have various textures and libraries intended to give essential outcomes. As for front end web advancement, Angular addresses incalculable, while possibly not all, of the issues formulators face while utilizing JavaScript all alone.
Who we are?

We are team of software engineers in multiple domains like Programming and coding, Fundamentals of computer science, Design and architecture, Algorithms and data structures, Information analysis, Debugging software and Testing software. We are working on Systems developer and application developer. We are curious, methodical, rational, analytical, and logical. Some of us are also conventional, meaning we're conscientious and conservative.

Answer collected from stackoverflow and other sources, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0