首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws >>上的nginx码头集装箱普通HTTP请求被发送到HTTPS端口

问aws >>上的nginx码头集装箱普通HTTP请求被发送到HTTPS端口
EN

Stack Overflow用户
提问于 2019-10-28 08:53:32
回答 1查看 1.6K关注 0票数 3

我有一个运行在aws ec2实例上的前端角应用程序,它们都连接到网络负载均衡器的TCP端口443和80。我将在这个带有多个域名的nginx停靠容器上配置许多vhost。在ecs服务中,用于负载平衡的容器作为端口443。我们必须选择集装箱的443个港口或80个港口来平衡负荷。https://prnt.sc/pocu41。在https上,站点正在很好地加载。但是在http上我得到了错误

代码语言:javascript
复制
The plain HTTP request was sent to HTTPS port

我计划在码头容器上使用ssl证书,而不是在负载均衡器上使用ssl。如果在负载均衡器上选择ssl,那么我们需要在应用程序负载均衡器默认证书中使用多域ssl,并且在有数百个域时可能不可行。

我的Nginx conf看起来像这样

代码语言:javascript
复制
server {
        listen 80;
        server_name  example.com;

        root   /usr/share/nginx/html/docroot;
        index  index.html index.htm;
        include /etc/nginx/mime.types;

        gzip on;
        gzip_min_length 1000;
        gzip_proxied expired no-cache no-store private auth;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        location / {
            try_files $uri $uri/ /index.html;
        }
    }


server {
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl on;
    ssl_certificate /etc/nginx/ssl/example.com/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;

    server_name  example.com;
    root           /usr/share/nginx/html/docroot;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }

}

知道我们怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-28 10:36:46

我计划在码头容器上使用ssl证书,而不是在负载均衡器上使用ssl。如果在负载均衡器上选择ssl,那么我们需要在应用程序负载均衡器默认证书中使用多域ssl,并且在有数百个域时可能不可行。

您的这个假设似乎不正确,您可以从LB创建*证书,也可以配置来自ACM的倍数。您可以使用ACM与负载均衡器和它的完全免费的,为什么我要费心管理SSL在应用程序级别?如果不需要北草坪会议大楼,我为什么要在应用程序级别打开端口80,而我可以使用应用程序LB重定向?

AWS证书管理器定价

通过AWS证书管理器提供的公共SSL/TLS证书是免费的。您只为运行应用程序而创建的AWS资源付费。

证书-经理-定价

第二,使用有什么特殊的原因吗?对于web应用程序,我永远不会选择网络均衡器,对于TCP级别的通信,北草坪会议大楼是有意义的,但我将选择应用LB进行HTTP通信,它提供了诸如主机基础路由、重定向和基于路径的路由等高级路由,这将消除Nginx的需求。

容器是为轻量级任务设计的,AWS建议内存大约为300-500MB,以及CPU的相同建议。

您知道在容器级别上SSL终止的成本吗?

SSL流量可以是计算密集型,因为它需要通信量的加密和解密。SSL依赖公钥加密技术来加密客户端和服务器之间的通信,从而安全地跨网络发送消息。

SSL在LB层终止的优势

需要在负载均衡器处终止SSL,因为解密是资源和CPU密集型的。在负载均衡器上增加了解密负担,使服务器能够将处理能力用于应用任务,这有助于提高性能。它还简化了SSL证书的管理。

new-tls-termination-for-network-load-balancers

ssl-终止

​

​

10-tips-to-improve-the-performance-of-your-aws-application

因此,基于此,我不会像@Linpy所建议的那样解决您的问题,如果您还想去,您也可以这样做,dealing-with-nginx-400-the-plain-http-request-was-sent-to-https-port-error。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58587976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档