首页 > 解决方案 > 无法使用 Cognito 访问基于 nginx 的 AWS Kibana VPC

问题描述

我使用基于 Elasticsearch VPC,为了连接到 kibana,我使用 nginx 反向代理。我遵循这个:https ://aws.amazon.com/premiumsupport/knowledge-center/kibana-outside-vpc-nginx-elasticsearch/?nc1=h_ls 。

当我尝试访问https://ec2-xxxx.region-x.compute.amazonaws.com(EC2 实例包含 nginx )。我有一个重定向到https://ec2-xxxx.region-x.compute.amazonaws.com/login?response_type=code&client_id=xxxx..。而是https://auth.website.com/login?response_type=code&client_id=xxxx..。(auth.website.com 是 Cognito 主机)

然后我有一个 502 坏网关。

我的 nginx 配置:

server {
            listen 443;
            server_name $host;
            rewrite ^/$ https://$host/_plugin/kibana redirect;
    
            ssl_certificate           /etc/nginx/cert.crt;
            ssl_certificate_key       /etc/nginx/cert.key;
    
            ssl on;
            ssl_session_cache  builtin:1000  shared:SSL:10m;
            ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
            ssl_prefer_server_ciphers on;
    
            location /_plugin/kibana {
                # Forward requests to Kibana
                proxy_pass https://vpc-domain-xxxxx.region.es.amazonaws.com/_plugin/kibana;
    
                # Handle redirects to Amazon Cognito
                proxy_redirect https://auth.exmample.com https://$host;
    
                # Update cookie domain and path
                proxy_cookie_domain vpc-domain-xxxxx.region.es.amazonaws.com $host;
                proxy_cookie_path / /_plugin/kibana/;
    
                # Response buffer settings
                proxy_buffer_size 128k;
                proxy_buffers 4 256k;
                proxy_busy_buffers_size 256k;
            }
    
            location ~ \/(log|sign|error|fav|forgot|change|saml|oauth2) {
                # Forward requests to Cognito
                proxy_pass https://auth.exmample.com;
    
                # Handle redirects to Kibana
                proxy_redirect https://vpc-domain-xxxxx.region.es.amazonaws.com https://$host;
    
                # Update cookie domain
                proxy_cookie_domain auth.exmample.com $host;
            }
        }

谢谢

标签: amazon-web-serviceselasticsearchnginxkibanaamazon-cognito

解决方案


  1. 在启用浏览器开发工具并选择“网络”选项卡的情况下重新启动页面。您也许可以从这里开始调查原因。
  2. 访问您的 EC2 实例,然后检查位于 /var/log/nginx/ 目录的 nginx 日志(对于基于 linux 的分发版)。
  3. 检查您的 EC2 实例的安全组。

推荐阅读