API browser url behind load balancer


I am using a two node cluster with graylog 3.2.5 behind a load balancer. LB is doing ssl termination.

http_external_uri = https://mygraylog.example.net
http_publish_uri = http://nodeX.example.net:9000
LB is routing requests to http://node1.example.net:9000 and http://node2.example.net:9000

Everything in Graylog and the sidecar (server_url: https://mygraylog.example.net/api) is working fine. But when I access the api browser at https://mygraylog.example.net/api/api-browser it shows links to http://nodeX.example.net:9000 instead of the LB. For example on the swagger login page, so I cannot login (the nodes are in a seperate network behind firewall, only LB is rechable from clients…
I found many related threads here about the same issue. They were using gl2 with option rest_transport_uri, but this does not work in gl3.

I dont have configured X-Graylog-Server-URL in LB headers, because it would only overwrite http_external_uri which is already configured.

he @HansWurst

on the nodes page try the button:

that is given for a reason. Behind a loadbalancer the URL is a different than when you connect to a single node

1 Like

API Browser is working using this button, Thank you.
URL is the same as I tested with, meybe it is also using some JS / Coockie data to get it working.

I suggest you, http_external_uri, http_publish_uri use the same domain name value accessed from the external network, which I did without finding the error you said.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.