# ElasticSearch 2.3.0 CORS

**URL:** <https://discuss.elastic.co/t/elasticsearch-2-3-0-cors/46701>\
**Category:** Elasticsearch\
**Created:** [April 7, 2016, 2:43pm UTC](https://discuss.elastic.co/t/elasticsearch-2-3-0-cors/46701 "2016-04-07T14:43:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kleber\_Rocha](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kleber_rocha/32/12412_2.png) [@Kleber\_Rocha](https://discuss.elastic.co/u/Kleber_Rocha)\
**Post date:** [April 7, 2016, 2:43pm UTC](https://discuss.elastic.co/t/elasticsearch-2-3-0-cors/46701/1 "2016-04-07T14:43:08Z")

</div>

Hi,

I'm trying configure CORS on ElasticSearch. But I have an error like this.

[2016-04-06 19:14:34,391][WARN][http.netty] [node\_1\_data] Caught exception while handling client http traffic, closing connection [id: 0x915e4426, /172.30.XXX.XX:44910 =\> /172.30.XXX.XX:9200]  
java.lang.IllegalStateException: cannot send more responses than requests  
at org.jboss.netty.handler.codec.http.HttpContentEncoder.writeRequested(HttpContentEncoder.java:101)  
at org.jboss.netty.channel.SimpleChannelHandler.handleDownstream(SimpleChannelHandler.java:254)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784)  
at org.jboss.netty.channel.SimpleChannelHandler.writeRequested(SimpleChannelHandler.java:292)  
at org.jboss.netty.channel.SimpleChannelHandler.handleDownstream(SimpleChannelHandler.java:254)  
at org.elasticsearch.http.netty.pipelining.HttpPipeliningHandler.handleDownstream(HttpPipeliningHandler.java:105)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582)  
at org.jboss.netty.channel.Channels.write(Channels.java:704)  
at org.jboss.netty.channel.Channels.write(Channels.java:671)  
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:348)  
at org.elasticsearch.http.netty.cors.CorsHandler.handlePreflight(CorsHandler.java:122)  
at org.elasticsearch.http.netty.cors.CorsHandler.messageReceived(CorsHandler.java:79)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:145)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.jboss.netty.handler.codec.http.HttpContentDecoder.messageReceived(HttpContentDecoder.java:108)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)  
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)  
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:75)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
...

The problem is ElasticSearch drops OPTIONS requests from Ajax requests.

My configuration is here:  
http.cors.enabled: true  
http.cors.allow-origin: "\*"  
http.cors.allow-credentials: true  
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE  
http.cors.allow-headers: X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Token, Accept, Authorization

Thank you

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 7, 2016, 2:44pm UTC](https://discuss.elastic.co/t/elasticsearch-2-3-0-cors/46701/2 "2016-04-07T14:44:35Z")

</div>

I think you are hitting this: [https://github.com/elastic/elasticsearch/pull/17524](https://github.com/elastic/elasticsearch/pull/17524)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:55pm UTC](https://discuss.elastic.co/t/elasticsearch-2-3-0-cors/46701/4 "2017-07-05T22:55:47Z")

</div>


