AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[amazon-alb](server)

Martin Hope
CharlieBucket
Asked: 2022-10-23 12:00:08 +0800 CST

AWS Application Load Balancer:将请求重新路由到未批准的路径

  • 5

我有一个用例,我希望所有请求都以如下前缀开头:

https://WHATEVER/pfx

例如 https://WHATEVER/pfx/a 和 https://WHATEVER/pfx/b/c/d

但我希望阻止 https://WHATEVER/somewhere_else 和不包含前缀 (pfx) 的类似请求。为了防止这种情况,我想简单地将所有此类请求重定向到 https://WHATEVER/pfx (主页)

这对 AWS ALB 可行吗?

提前致谢!

amazon-web-services amazon-alb
  • 1 个回答
  • 28 Views
Martin Hope
Bryan Phillips
Asked: 2022-04-06 13:31:38 +0800 CST

如果主机是 IP 地址而不是域名,您能否阻止将流量路由到 AWS ALB?

  • 0

我在 AWS 上运行具有多个 SSL 证书的 ALB。域名是通过 EC2 上的应用程序动态处理的。目前,ALB 会将请求路由到 ALB 的 IP 地址到应用程序。即使应用程序对这些查询有适当的例外,这也会导致所有请求日志和 WAF 中出现不必要的日志条目。

我的前两个想法是……

  1. 添加阻止 IP 地址的侦听器规则。不幸的是,我看到的唯一方法是在*.*.*.*. 这行不通,因为我们可以为site.group.example.com.
  2. 如果 Host 标头与附加到侦听器的 SSL 证书之一匹配,则仅将请求转发到目标组。这里的问题是我找不到任何方法来执行这种规则。
ssl-certificate amazon-web-services amazon-alb
  • 1 个回答
  • 54 Views
Martin Hope
argyrodagdileli
Asked: 2022-03-19 06:50:13 +0800 CST

从公共 ALB 到 EKS 的内部 ALB 的直接流量

  • 0

因此,我有一个位于专用 VPC (EKS-VPC) 中的 EKS 集群。在我的主 VPC 中,我有一个面向公众的 ALB,我希望它以某种方式将流量引导到在 EKS 中运行的服务。更具体地说,我希望 ALB 将对特定端点的请求转发到 EKS,并将所有其他请求转发到我的主 VPC 中的 EC2 实例。

因此,例如请求myservice.mydomain.com将转到主 VPC 内的 EC2 实例,但请求myservice.mydomain.com/myapi/myendpoint将转到在 EKS 中运行的服务 - 因此是不同的 VPC

我在主 VPC 和 EKS VPC 之间启用了 VPC 对等互连,并且我更新了我的路由表。

我当然已经配置了一个 Ingress 并在 EKS 中设置了 ALB 控制器,它负责内部 ALB 配置

我正在考虑为 EKS 集群创建一个内部 ALB。然后获取其 IP 并创建一个新的 IP 目标组,将其与主 ALB 相关联。但是,您可以想象这会失败,因为对内部 ALB 私有 IP 的运行状况检查失败。所以我想知道这种情况下的最佳选择是什么?

amazon-web-services amazon-alb amazon-eks vpc-peering
  • 1 个回答
  • 93 Views
Martin Hope
RustyShackleford
Asked: 2022-02-15 06:49:53 +0800 CST

使用 AWS ALB 实现 mTLS

  • 1

如果我的基础架构中有一个带有下游 ECS 目标组的 ALB,SSL/TLS 是否总是在 ALB 处终止?

如果是这样,我唯一的选择是 ELB/NLB 来保留 SSL/TLS 上下文吗?

load-balancing amazon-web-services amazon-alb amazon-elb nlb
  • 1 个回答
  • 2455 Views
Martin Hope
freetimetime
Asked: 2022-02-11 18:44:50 +0800 CST

如何在 AWS 中设计前端服务?

  • 0

在 AWS 中,我们在内部 ALB 中部署了一个后端服务 - API。对于前端(Web UI),它调用API,也需要从企业内部网络访问。它应该绑定到 Route53。

我们在企业中使用 VPN。我们使用 DirectConnect 连接 AWS VPC。因此我们可以使用私有 IP 访问 AWS 中的内部 ALB 资源。

现在我们想要将原始内部 ALB 的 DNS 名称绑定到具有域的 Route 53。如果仅使用内部 ALB 可以吗?

可能当前内部的 ALB 无法实现目的。所以我们将添加第二个 ALB - 面向互联网。用它来绑定Route53。

如果同时设置2种ALB,用ECS部署,2种不同的目标安全组怎么做蓝绿部署?

amazon-web-services amazon-alb
  • 1 个回答
  • 56 Views
Martin Hope
Howins
Asked: 2021-11-08 13:50:38 +0800 CST

如何仅授权来自 MongoDB Atlas 集群的 Fargate ECS 服务的 IP

  • 1

我有一个 ECS Fargate 服务映射到 AWS 上的 Application Load Balancer。在此服务中,有几个任务经常被杀死并重新启动。这些任务应该能够连接到 MongoDB Atlas 集群。

我应该将哪个 IP 列入我的 Atlas 集群的白名单?我的服务是否可以有一个弹性 IP 或一系列 IP,以在我的 Mongo Atlas 集群中只允许我的服务的 IP?

对不起,如果这个问题很简单,我在 AWS 上的 ECS、ALB 和网络上有点挣扎。

networking amazon-web-services amazon-ecs amazon-alb mongodb
  • 1 个回答
  • 593 Views
Martin Hope
uotn
Asked: 2021-10-09 20:03:43 +0800 CST

如何设置公共 LB 路由到 AWS 上的代理?

  • 0

我在 VPC 中构建了这条流量路由。

Route53->ACM(SSL)->Public ALB->EC2(Nginx proxy)->Private ALB->ECS(Internal App)

EC2 的安全组允许 tcp 80 和 443。ECS 的安全组允许来自 EC2 的安全组的 80。

当我访问注册在 Route53 中的域时,出现504 DNS look up failed错误。访问公共 ALB 的 DNS 名称时503 Service Temporarily Unavailable出错。

我确定 ACM 正在设置并且公共 LB 的 DNS 名称正在使用域注册到 Route53。

公共子网上的 ALB 设置由 Terraform 执行

resource "aws_lb_listener" "http" {
  load_balancer_arn = aws_lb.this.arn
  port              = "80"
  protocol          = "HTTP"

  default_action {
    type = "redirect"

    redirect {
      port        = "443"
      protocol    = "HTTPS"
      status_code = "HTTP_301"
    }
  }
}

resource "aws_lb_listener_rule" "http_redirect" {
  listener_arn = aws_lb_listener.proxy.arn
  priority     = 1

  action {
    type = "redirect"

    redirect {
      port        = "443"
      protocol    = "HTTPS"
      status_code = "HTTP_301"
    }
  }

  condition {
    path_pattern {
      values = ["/*"]
    }
  }
}

resource "aws_lb_listener_rule" "http_forward" {
  listener_arn = aws_lb_listener.http.arn
  priority     = 2

  action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  condition {
    host_header {
      values = ["proxy.portsite.com"]
    }
  }
}

resource "aws_lb_listener_rule" "https_forward" {
  listener_arn = aws_lb_listener.https.arn

  action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  condition {
    host_header {
      values = ["proxy.portsite.com"]
    }
  }
}

两者都是路由的必要条件吗http_redirect?http_forward还是只有http_redirect好的?而且,问题是由它引起的吗?

ssl route amazon-vpc amazon-alb
  • 1 个回答
  • 83 Views
Martin Hope
wti
Asked: 2020-06-30 16:38:00 +0800 CST

在我的系统上打开和关闭请求需要很长时间

  • 1

已编辑:我的 AWS 系统中有问题。每几个请求几乎都需要 130 秒的时间来回答。当我说一些时,我的意思是 5 到 25 左右。通常,如果您取消慢速请求并再次发送,它只会快速响应。我还注意到任何请求都会发生这种情况,而不仅仅是特定请求。服务器和后端看起来并没有超载。系统如下:

ALB with sticky sessions | 2 Web servers | DB on RDS

系统在大多数时候使用 curl 时响应良好,但是当它需要很长时间时,这是响应输出:

这是任何 URL 上的 curl 测量时间。

    time_namelookup:  0.004136
       time_connect:  130.117558
    time_appconnect:  130.125254
   time_pretransfer:  130.125340
      time_redirect:  0.000000
 time_starttransfer:  130.172553
                    ----------
         time_total:  130.172615

除了 之外,从time_connect页面加载之后的意义上说,请求很好。系统正常响应时间小于0.5秒。

我正在阅读有关此的内容,并且文档表明time_connect,与

“从客户端的角度来看,time_connect 是 TCP 三次握手。它在客户端发送 ACK 后立即结束 - 它不包括该 ACK 到达服务器所需的时间。它应该接近往返时间(RTT) 到服务器..."

这是从这里拍摄的。

补充:系统本身是 nginx-Python,运行在 ec2 实例上,RDS 上有 MySQL 数据库,它提供来自 s3 的静态内容,用户也可以上传自己的文件。来自本地主机上的服务器(nginx-python ec2 实例) curl 总是很好,它永远不会花费很长时间。这让我相信这与 LB 和在 python 主机上监听的 nginx 有关。

补充:我也试过只在后端留下一台机器,问题并没有消失。

我在 AWS Cloudwatch、应用程序日志或数据库监控上找不到任何有意义的东西。关于我应该研究什么或如何解决此问题的任何想法?

编辑 3 感谢下面的评论:

# curl -v -I -L -k -w "@time.txt" -s "https://my-site.com/url/"
*   Trying "
*   Trying IP.ONE.from.AWS...
* connect to IP.ONE.from.AWS port 443 failed: Connection timed out
* TCP_NODELAY set
* Connected to my-site.com (IP.TWO.from.AWS) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt

IP-ONE-from-AWS 和 IP-TWO-from-AWS 是来自我应该连接的 AWS 区域的 IP。

amazon-web-services curl amazon-alb response-time
  • 1 个回答
  • 274 Views
Martin Hope
George
Asked: 2020-04-19 07:45:02 +0800 CST

与 ALB 相比,使用 AWS 颁发的证书更便宜

  • 0

标题基本上说明了一切,我很好奇是否有一项服务可以处理 SSL 层,然后通过普通 HTTP(在 VPN 内部)将数据发送到 ec2 实例。

应用程序负载平衡器可以很好地用于此目的,但它们很昂贵(10 美元/月,如果您想要在例如几十个子域上获得证书,则加起来)并且由于它们使用的许多抽象层而使设置和管理很烦人。

amazon-ec2 ssl https amazon-web-services amazon-alb
  • 1 个回答
  • 133 Views
Martin Hope
HelloWorld
Asked: 2020-04-05 20:51:18 +0800 CST

ALB 写入 2 个 postgre sql 实例

  • -1

我在同一个 ec2 实例上运行 nginx 和 postgre sql。

它为一个在该数据库上读取和写入数据的 Rails 应用程序提供服务。

我想在 ALB 服务后面有 2 个实例来分配负载并确保可用性。

我应该怎么做才能确保 2 个实例的数据一致?

amazon-ec2 cluster postgresql amazon-alb
  • 1 个回答
  • 204 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve