Unable to access Event Store in Windows Azure VM remotely

Hi,

I’m attempting to get EventStore working initiall on a single node VM in Azure.

I’ve downloaded EventStore-OSS-Win-v4.0.1, extracted it to C:\EventStore.

The VM is a smalldisk server 2016 (it’s for dev PoC).

My database.yaml configuration shows…

Db: C:\EventStore\data

IntIp: 10.1.0.4 <<<< IP form IPConfig.

ExtIp: 51.140.76.122 <<<< This is the VM public IP.

ExtIpAdvertiseAs: 10.1.0.4

RunProjections: ALL

I added…

netsh http add urlacl url=http://+:2113/ user=Everyone, but then removed this because I get a 503 errror.

I have disabled Windows Firewall (bad - I know!)

I have allowed 1113 and 2113 inbound on the NSG for the WIndows (RM) VM in Azure.

When I run…

C:\EventStore>EventStore.ClusterNode.exe --mem-db --log .\logs\log1 --config C:\EventStore\Configuration\database.yaml

I get the following error…

[02144,11,09:26:25.333] ReadIndex rebuilding done: total processed 0 records, time elapsed: 00:00:00.

[02144,10,09:26:25.423] SLOW BUS MSG [MainBus]: SystemInit - 139ms. Handler: StorageChaser.

[02144,10,09:26:25.469] Starting Normal TCP listening on TCP endpoint: 51.140.76.122:1113.

[02144,10,09:26:25.469] Failed to listen on TCP endpoint: 51.140.76.122:1113.

[02144,10,09:26:25.519] Exiting with exit code: 1.

Exit reason: The requested address is not valid in its context

Any help, much appreciated.

You need to use a locally bindable port for tcp. The public ip is
likely not bindable.

Hi Greg,

This is a vanilla OS image.

When I remove the ExtIp form the config file, but leave the intIP set to 10.1.0.4, it successfully binds to port 2113 and I’m able to browse via 127.0.0.1:2113.

When I add the ExtIP, it fails with the message mentioned earlier.

Are there other configuration settings that I’m missing when attempting to bind to a local port?

I attempted to setup netsh to port 2113, but I then receive a 503 error. Something that’s mentioned in your docs.

Again, any help much appreciated.

This did the trick…

IntIp:

ExtIp:

AddInterfacePrefixes: false

IntHttpPrefixes: http://*:2112/

ExtHttpPrefixes: http://*:2113/

RunProjections: All

ClusterSize: 1

I couldn’t ascertain how browsing the external IP address from the EventStore server, routed to the internal IP and displayed the UI, without explicitly setting the information in the config.

This proved helpful…

https://blogs.msdn.microsoft.com/mast/2015/07/13/azure-snat/

Thanks