Can't start projections on Linux

Hey all,

ES 3.0.1 on Ubuntu 14.10

RunProjections: All

I’m unable to start projections.

image.png

They work great on my Windows dev box.

Where can I start figuring this out.

Thanks,

Chris

So I noticed that ldconfig -p | grep ‘libjs1|libv8’ didn’t produce any results.

I added a ‘/etc/ld.so.conf.d/event-store.conf’ file with the path to GES bin and reloaded the ld cache.

Still nothing.

LOG: https://gist.github.com/trbngr/983acda996759ec9fc60

I’ve reverted this and just use env in the init script.

I can confirm that LD_LIBRARY_PATH is set correctly. But I still can’t start projections. Not even the system projections.

Total game stopper.

OK. I think I know what’s going on. I just need help configuring everything around this.

I’m seeing this when viewing a system projection in Chrome: OPTIONS http://0.0.0.0:2113/projection/$by_category/state net::ERR_ADDRESS_INVALID

I’m sitting behind ngnix and forwarding traffic to 0.0.0.0:2113 (because I’m terrified of Azure changing IPs). Apparently Chrome doesn’t dig 0.0.0.0.

if I set config with my eth0 IP:

IntIp: 100.73.120.59

ExtIp: 100.73.120.59

I see “http://100.73.120.59:2113/projection/$stream_by_category/command/enable net::ERR_CONNECTION_TIMED_OUT”

I’m gonna try through the TCP client

Ok…I can start all projections via the TCP client.

This means that my HTTP config needs help.

Here’s what I have tried.

So the whole problem is with the URLs returned from service calls to the server (projectionservice in webui). The server has no idea what the public IP/host name is. It just knows what’s set in config.

I used FiddlerScript to change all IP:2113 to publicdns and everything came to life.

Seeing as most people won’t want to go this trouble, maybe this a call for a new proxy config setting.

Absolutely no input?

Have nginx rewrite the URLs seems like a simple approach here?

Unless I’m completely missing something, that doesn’t work in this case.

However, some requests use the urls returned from an API call.

Example:

Open WebUI and point it to public DNS or IP. Ngnix will proxy this request through to ExtIp:2113 and everything seems good; for the most part.

Most requests will be made in this context.

However, some requests are made to urls returned from an API call.

The API call here is /projections/all-non-transient. This returns an array of objects with urls pointing to the external IP and port.

I can’t very well have ngnix listening at that address.

It seems a good solution is to return relative urls from the API or to simply have the app (angular) parse it out. Which is what I’m going to with a fork when I have the time.

I hope that was all clear.

-=Chirs

Is this solved with X-Forwarded-Port?

Is it just the port changing on the proxy?

Cheers,

Greg