Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incorrect node information and api browser link incorrect #2360

Closed
jalogisch opened this issue Jun 16, 2016 · 4 comments
Closed

incorrect node information and api browser link incorrect #2360

jalogisch opened this issue Jun 16, 2016 · 4 comments

Comments

@jalogisch
Copy link
Contributor

@jalogisch jalogisch commented Jun 16, 2016

desription

if you have a chained Proxy Setup for HTTPS (like in the image)

903_design

  • you did not get node based data in System / Nodes (all Nodes show the same data)
  • the API Browser link is displayed wrong.

Not sure if this is related to #2359 and/or #1576

configuration

Apache Loadbalancer Setup

<VirtualHost *:443>
    ServerName H1

    SSLEngine On
    SSLProxyEngine On
    SSLCertificateFile conf.d/tls/server.pem
    SSLCertificateChainFile conf.d/tls/server.pem

    <Proxy balancer://web>
        BalancerMember "https://H2"
        BalancerMember "https://H3"
    </Proxy>
    ProxyPass        / balancer://web/
    ProxyPassReverse / balancer://web/
</VirtualHost>

Apache Setup on Graylog System

<VirtualHost *:443>
    ServerName H2
    DefaultType None
    SSLEngine On
    SSLCertificateFile conf.d/tls/server.pem
    SSLCertificateChainFile conf.d/tls/server.pem
   <Location /api/>
        ProxyPass http://localhost:12900/
        ProxyPassReverse http://localhost:12900/
    </Location>
    <Location />
        RequestHeader set X-Graylog-Server-URL "https://H1/api/"
        ProxyPass http://localhost:9000/
        ProxyPassReverse http://localhost:9000/
    </Location>
</VirtualHost>

Graylog Server Conf for Web and API

rest_listen_uri = http://127.0.0.1:12900/
web_enable = true
web_listen_uri = http://127.0.0.1:9000/

Environment

  • Graylog Version: 2.0.X
@joschi
Copy link
Contributor

@joschi joschi commented Jun 16, 2016

@jalogisch How (and on which page exactly) is the link to the API Browser wrong?

@jalogisch
Copy link
Contributor Author

@jalogisch jalogisch commented Jun 16, 2016

if you request the page via H1 LB the Link (when you use the API Browser button) is http://127.0.0.1:12900/api-browser

joschi pushed a commit that referenced this issue Jun 16, 2016
joschi pushed a commit that referenced this issue Jun 16, 2016
joschi pushed a commit that referenced this issue Jun 16, 2016
dennisoelkers pushed a commit that referenced this issue Jun 17, 2016
joschi added a commit that referenced this issue Jun 17, 2016
@joschi
Copy link
Contributor

@joschi joschi commented Jun 20, 2016

@jalogisch rest_transport_uri must point to the accessible (!) address of each Graylog node. Otherwise the proxying node will always request the node information from rest_listen_uri (which points to localhost in this specific case).

@jalogisch
Copy link
Contributor Author

@jalogisch jalogisch commented Aug 2, 2016

As by design each individual API need to be accessible by the browser it is not possible to have them all covered behind a load balance and separated by network design.

The requested feature is not possible and i will close this issue.

mpfz0r added a commit that referenced this issue Oct 10, 2019
Usually, the link to the API browser is meant to talk to one specific node only.

In cases where Graylog is served behind a load balancer, the node
specific URL is not reachable.
We autodetect that ( `http_external_uri` != `http_publish_uri` )
and display a "cluster global API browser button".

Since the API browser behind this address might end up talking
to random nodes of the cluster, display a warning box, to make
users aware of this.

Fixes #5920

Refs #2360
Refs #2587
bernd pushed a commit that referenced this issue Oct 22, 2019
* Introduce a cluster global API browser button

Usually, the link to the API browser is meant to talk to one specific node only.

In cases where Graylog is served behind a load balancer, the node
specific URL is not reachable.
We autodetect that ( `http_external_uri` != `http_publish_uri` )
and display a "cluster global API browser button".

Since the API browser behind this address might end up talking
to random nodes of the cluster, display a warning box, to make
users aware of this.

Fixes #5920

Refs #2360
Refs #2587

* Fix review comments
bernd pushed a commit that referenced this issue Oct 22, 2019
* Introduce a cluster global API browser button

Usually, the link to the API browser is meant to talk to one specific node only.

In cases where Graylog is served behind a load balancer, the node
specific URL is not reachable.
We autodetect that ( `http_external_uri` != `http_publish_uri` )
and display a "cluster global API browser button".

Since the API browser behind this address might end up talking
to random nodes of the cluster, display a warning box, to make
users aware of this.

Fixes #5920

Refs #2360
Refs #2587

* Fix review comments

(cherry picked from commit 6ac71c0)
mpfz0r pushed a commit that referenced this issue Oct 23, 2019
* Introduce a cluster global API browser button (#6567)

* Introduce a cluster global API browser button

Usually, the link to the API browser is meant to talk to one specific node only.

In cases where Graylog is served behind a load balancer, the node
specific URL is not reachable.
We autodetect that ( `http_external_uri` != `http_publish_uri` )
and display a "cluster global API browser button".

Since the API browser behind this address might end up talking
to random nodes of the cluster, display a warning box, to make
users aware of this.

Fixes #5920

Refs #2360
Refs #2587

* Fix review comments

(cherry picked from commit 6ac71c0)

* Remove unused Alert import

* Fix propTypes in NodesList component
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants