【问题标题】:tomcat on 8080 under ELB using ACM for SSL使用 ACM 进行 SSL 的 ELB 下 8080 上的 tomcat
【发布时间】:2018-04-11 09:17:10
【问题描述】:

目前,我正在尝试为我的一个在 ELB 下的 tomcat 和 SSL 证书配置 https,我使用了 aws 证书管理器并指向 ELB。

我的 Elb 监听器端口是

ELB 端口 80 ---> 实例端口 --> 8080 ELB 端口 443 --> 实例端口 --> 带有 ACM 证书的 8080。

是否需要在 tomcat 级别进行任何配置或使用 ACM 使用 https 运行我的站点的任何方法?

【问题讨论】:

  • 您是在尝试让 HTTP 到 HTTPS 重定向工作还是什么?如果是这样,您需要检查 x-forwarded-for HTTP 标头以确定客户端是通过 HTTP 还是 HTTPS 连接到负载均衡器。否则,请添加有关您遇到的问题的更多详细信息,因为您所描述的设置应该可以正常工作。

标签: amazon-web-services tomcat ssl amazon-elb


【解决方案1】:

您可以将 NGNIX 放在每个 tomcat 实例中,Nginx 超级可靠,并且是我在严肃的 Web 服务器中见过的最小的占用空间。

然后在 NGNIX 配置中

NGINX 将使用状态 301 重写所有调用 HTTPS 端口的 ELB 请求。

server {
  listen 80;
  server_name myhost.com;
  # add ssl settings
  return 301 https://myhost.com$request_uri;
}

Tomcat 配置:

现在你需要触摸 Tomcat 的 server.xml 配置(位于 @$TOMCAT/conf/server.xml)。

<Connector scheme="https" secure="true" proxyPort="443"
  port="8080" protocol="HTTP/1.1"
  connectionTimeout="25000"
  URIEncoding="UTF-8"
  redirectPort="8443" />

亚马逊弹性负载均衡器:

您必须在 AWS ELB 中配置以下侦听器。

 HTTP 80 -> HTTP 80 (nginx)
 HTTPS 443 -> HTTP 8080 (tomcat)

我希望这对你有用。

【讨论】:

  • 感谢您的信息,我对 nginx 做了一些修改,现在我可以在 https 上运行,但它显示不安全。
  • 您可能提供混合内容,请参阅本指南developers.google.com/web/fundamentals/security/… 如果我解决了您的问题,请将答案标记为已解决,以便社区从中受益
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 2016-09-13
  • 2013-09-02
  • 2012-10-18
  • 1970-01-01
  • 2021-03-24
相关资源
最近更新 更多