EventStore on Windows 2012 R2 Core


Looking for help or pointers.

I am building an automated cluster build. The Servers will be logged down.

I have to enable the admin UI on the external port, and that is no issue.

I have the build working with no issue and I get to the login page, but I can’t log in. with the default admin/changeit.

I have to say when I build my last cluster it was way-way back so a lot could have changed.

I suspect I am missing the ACL stuff, and this is where I need some help

Have been reading this,

But can’t see to understand where or how to set the settings.js

I have a user in the admin group on the server, but how do I go about adding this user to have admin access?

I have command line only access. This may be really stupid, but I have been banging my head now for about 2 days.

Any help will be much appreciated.


Since you only have command line access, you can perform a couple of basic operations to see where to go next.

The fact that admin/changeit doesn’t work might indicate something else being wrong, but curl might reveal a little more than opening up the web ui. I could also ask you to open up the browser developer tools and tell me what it says, but the following might also indicate where to go look further.

For you to be able to add a user into the $admins group, you will need a user in the $admins group already.

You can check this by issuing a request via curl to

curl -i http://localhost:2113/users/

HTTP/1.1 200 OK

Access-Control-Allow-Methods: GET, POST, OPTIONS

Access-Control-Allow-Headers: Content-Type, X-Requested-With, X-Forwarded-Host, X-PINGOTHER, Authorization, ES-LongPoll, ES-ExpectedVersion, ES-EventId, ES-EventType, ES-RequiresMaster, ES-HardDelete, ES-ResolveLinkTo, ES-ExpectedVersion

Access-Control-Allow-Origin: *

Access-Control-Expose-Headers: Location, ES-Position

Content-Type: application/json; charset=utf-8

Server: Mono-HTTPAPI/1.0

Hi Pieter

Sorry for the late response.

I have tried everything to get this running.

We have change from the default ports which should not be an issue.

So when I try to run the curl command locally on the box I am getting “empty reply” when I try to use the server IP I am getting 504 Gateway Timeout.(Image EventStore local)

So when I open it in a web browser I get the login page. then when I try the admin/changit creds, it pops up with the login detail. attached is the image.

So I am lost.

I am unzipping my installs copy it to a folder then run the service. with almost the default config. we have been running this on all our clusters before. Only thing we change is, moving to Windows 2012 R2 Core, Move to 3.5 Version and enable the AdminUI on External.

I have attached my setup script… still very early days, but most of its working as expected. It does all the EventStore Configuration and setup.

Thanks for your help


Eventstore local.PNG

EventStore Web.PNG

EventStoreInstall.ps1 (16.6 KB)


Just another update

I just went to the POST and tried that and getting 401 Unauthorized. So not sure it its related. I am running at local admin at the moment.

Attached is the output

The user.json is


“fullName”: “demo”,

“groups”: ["$admins"],

“loginName”: “demo_login”,

“password”: “demo_password”





Looking at the configuration of the node,
You probably want to set the add interface prefixes option to false and setup the prefixes explicitly. As an example.

AddInterfacePrefixes: false

ExtHttpPrefixes: http://+:2317/

IntHttpPrefixes: http://+:2316/

Hi Peter.

I have added what you suggested but get “Connection refused” now and not even the WebGui is coming up.

Can you please tell me what the use is for this and maybe if I need to change the “+” to the IP of the box?

I am not 100% where I am going with this at the moment.

Am I better to log a support call to help with this?

Many Thanks


Ive often seen similar screens to those screenshots - the login appears to not work but it was actually successful and an F5 will get you to the dashboard.
Just what works for me - cheers

The AddInterfacePrefixes has an effect in 2 scenarios,

  1. When specifying the internal/external ip addresses with and AddInterfacePrefixes is set to true

  2. When the above is not true, but AddInterfacePrefixes is set to true

It will attempt to add additional http prefixes such as http://localhost:2113/ if 1. is true or just add the internal and external ip addresses specified to the internal and external http prefixes respectively

In certain cases like this one, I want to ensure that we set these explicitly and run into unnecessary issues when we specify our own http prefixes.

You can generally use the following configuration.


IntIp: {IP_of_machine}

ExtIp: {IP_of_machine}

IntHttpPrefixes: http://*:2112/

ExtHttpPrefixes: http://*:2113/

The + and * in http://+:2113/ just helps with the amount of prefixes that you have to setup and is like a wildcard to the http listener and ensures that all requests made to any url matching the port gets forwarded to the listener.

You may also want to try your configuration with a single node, before moving onto a cluster and build up from there, just to reduce the amount of issues that might be causing you headaches.

You may log this via your support account.


Thanks for your help, but I have logged a support call…

Will come back if I get this fix

Many Thanks