适用于 AWS Web 控制台的 Nginx 反向代理配置



有没有办法通过我的子域通过nginx反向代理访问AWS网络控制台?

这是nginx配置一直在使用:

server {
  listen localhost:443 ssl;
  server_name aws1.subdomain.com;
  include snippets/proxy_ssl.conf;
  location / {
      proxy_pass              https://console.aws.amazon.com/;
      proxy_set_header        Host $host;
      proxy_http_version      1.1;
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "Upgrade";
      proxy_read_timeout      86400;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-Server $host;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_redirect          off;
      proxy_hide_header X-Frame-Options;
  }
}

上面的配置抛出:

网络错误: 400 错误请求

并在我尝试在浏览器中访问 https://aws1.subdomain.com 时显示亚马逊的默认 400 错误请求页面。

我在nginx.conf中使用以下行来工作。您还可以根据需要为 http 身份验证添加行,具体取决于您的配置。

location = / { rewrite ^ /_plugin/kibana/ redirect; }
location / { 
  proxy_pass https://<es-domain-url>.es.amazonaws.com; 
  proxy_http_version 1.1; 
  proxy_set_header Authorization ""; 
  proxy_hide_header Authorization; 
  proxy_set_header X-Forwarded-Proto $scheme; 
}