标签: aws-application-load-balancer

验证 ALB + AWS Cognito 时出现 500 错误

我正在尝试通过 Aws ALB + Cognito 对 Lambda 进行身份验证。当我启动 DNS 服务器时,它会将我重定向到登录页面,我可以注册并验证用户。另外,我可以看到该用户已添加到用户池中的用户中。登录后,出现 500 Internal Server Error。我可以在日志中看到,转发到函数的默认操作是在后台执行的。

不知道为什么它在验证用户身份后不重定向/执行 lambda。您能否提供一些见解,我在这个设置中会缺少什么。

我已经在 terraform 中设置了 Lambda、ALB 和 Cognito。

resource "aws_cognito_user_pool" "pool" {
  name                       = "alb-test-userpool"
  alias_attributes = ["email", "preferred_username"]
  verification_message_template {
  default_email_option = "CONFIRM_WITH_CODE"
  }
  email_verification_subject = "Device Verification Code"
  email_verification_message = "Please use the following code {####}"
  sms_verification_message   = "{####} Baz"
  auto_verified_attributes   = ["email"]

  password_policy {
      minimum_length    = 8
      require_lowercase = false
      require_numbers   = false
      require_symbols   = false
      require_uppercase = false
    }
  tags {
    "Name" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cognito aws-api-gateway aws-application-load-balancer

3
推荐指数
1
解决办法
6247
查看次数

在 awsvpc 网络模式下,从 aws ELB 主机检查获取 400 以在 aws ECS 中使用 django ALLOWED_HOSTS?

当使用 awsvpc 网络模式转移到 ECS 时,我的 ALB 说我的所有主机都不健康,因为检查/status/产生 400 秒。我已将其缩小到 ALLOWED_HOSTS 出现问题的问题。

如何让我的网络应用程序向 ELB Healthchecker 提供 200 个?

django amazon-ecs amazon-elb aws-load-balancer aws-application-load-balancer

3
推荐指数
2
解决办法
1382
查看次数

Amazon ALB-将http方法重定向到GET

我以一种方式配置了AWS ALB,它应该将(https://example.com/api/v1/ * )的请求重定向(302)到另一个区域。但是,事实证明,AWS ALB的REDIRECT功能正在将所有http:方法(POST,PUT等)更改为GET-因此在目标服务器上,我仅收到“ GET”请求。

现在我不知道这是否是

  1. 预期行为
  2. AWS中的错误
  3. 设置问题

谁能帮助解决难题?

amazon-web-services aws-application-load-balancer

3
推荐指数
1
解决办法
209
查看次数

目标组 443 给出的运行状况检查失败,代码如下:[502]

我想将 Laravel 网站部署到亚马逊,所以我执行了以下步骤:

  • 使用 Elastic Beanstalk 部署 Laravel 应用程序
  • 配置Route:53实例指向Ec2的IP
  • 创建了具有两个侦听器的应用程序负载均衡器,其中一个侦听器位于 80,另一个侦听器位于 443
  • 创建2个目标组Tg80和Tg443并分别指定监听者
  • 请注意,Tg443 具有有效的 SSL 证书

  • 将 Ec2 的安全组更改为负载均衡器的安全组

  • 将 Route:53 中的 A 实例更改为负载均衡器的实例

**结果: **

  • 该网站在 http 端口 80 上完美运行,健康检查也是如此,我可以从任何浏览器正常访问该网站

  • 该网站在 https:443 上返回 [502 Bad Gateway]

  • 在(ssh 到实例后)/var/log/httpd/error_log 中,出现以下错误/var/www/html/.htaccess: RewriteCond: bad flag delimiters

所以,我尝试了,根据链接enforce-https-laravel

  • .htaccess按照链接中所述在 laravel 应用程序中进行配置,请刷新所有内容 `php artisan config:cache,重试运行状况检查,但结果相同

  • 我删除.htaccess并配置了app/Providers/AppServiceProvider.php

    use Illuminate\Contracts\Routing\UrlGenerator; 

    public function boot(UrlGenerator $url)
    {
       if(env('ENFORCE_SSL', false)) {
         $url->forceScheme('https');
       }
    }
Run Code Online (Sandbox Code Playgroud)
  • 然后添加ENFORCE_SSL=true …

amazon-web-services laravel aws-application-load-balancer

3
推荐指数
1
解决办法
2585
查看次数

何时使用应用程序负载均衡器和网络负载均衡器

我是 AWS 新手。我开始学习ALB和NLB。我知道 ALB 在第 7 层协议中工作,NLB 在第 4 层协议中工作。

谁能解释一下 ALB 和 NLB 的实时示例吗?何时使用 ALB 和 NLB?

尽管所有 Web 应用程序都将使用 TCP 协议在服务器和客户端之间建立连接。

那么ALB使用TCP(第4层)协议吗?
那么它们之间有什么不同呢?谁能简单解释一下吗???

amazon-elb aws-application-load-balancer

3
推荐指数
1
解决办法
3617
查看次数

我们可以将一个 ALB 与 AWS ECS Fargate 一起使用吗?

我在带有 ALB 和 Route53 的 AWS ECS fargate 中运行了一堆微服务。每个微服务都有一个带有 Route53 的 ALB。

有没有可能我只能为所有微服务使用一个 ALB 并路由到它们各自的 Route53 路径?

在这里,我没有使用 EKS。使用 AWS ECS Fargate。

amazon-web-services amazon-ecs amazon-route53 aws-fargate aws-application-load-balancer

3
推荐指数
1
解决办法
1416
查看次数

AWS ALB 主机标头攻击

我正在尝试找到一种方法来阻止我的 ALB 上发生主机标头攻击。我的负载均衡器负责将端口 80 重定向到 443,这就是可能发生攻击的地方。现在我能看到的唯一方法是手动添加每个域,然后将默认规则设置为 503。而不是默认规则将主机重定向到 443。但是,我有很多域似乎应该有一种更简单的方法来做到这一点。

有人能想出一种方法来防止 ALB 中的主机标头操纵吗?

security amazon-web-services penetration-testing amazon-elb aws-application-load-balancer

3
推荐指数
1
解决办法
5119
查看次数

如何在 CDK 中正确编码 AWS ALB 重定向 (python)

学习AWS CDK(来自terraform)。我目前正在努力,如何编写一段代码将允许我创建重定向,如下图所示: 在此输入图像描述

到目前为止我拥有的代码:

class LoadBalancer(core.Construct):

def __init__(self, scope: core.Construct, construct_id: str, props):
    super().__init__(scope, construct_id)
    self.props = props

def load_balancer(self, security_group, fargate_service, arn_certificates_list):
    load_balancer = alb.ApplicationLoadBalancer(
        self,
        "TestFargateALB",
        vpc=self.props["vpc"],
        deletion_protection=True if self.props["environment"].lower() == "prod" else False,
        http2_enabled=True,
        internet_facing=True,
        security_group=security_group
    )

    load_balancer.set_attribute(key="routing.http.drop_invalid_header_fields.enabled", value="true")

    http_load_balancer_listener = load_balancer.add_listener(
        'http_listener', port=80, open=False
    )

    https_load_balancer_listener = load_balancer.add_listener(
        "https_listener", port=443, open=False, certificate_arns=arn_certificates_list
    )

    https_target_group = https_load_balancer_listener.add_targets(
        'ecs_target_group',
        targets=[fargate_service],
        port=80,
        protocol=alb.ApplicationProtocol.HTTP,
        deregistration_delay=core.Duration.seconds(amount=10)
    )

    https_target_group.configure_health_check(
        healthy_http_codes="200,301,302",
        healthy_threshold_count=3,
        interval=core.Duration.seconds(10),
        timeout=core.Duration.seconds(5),
        unhealthy_threshold_count=5,
        path="/"
    )

    http_load_balancer_listener.add_action(
        'DefaultAction',
        action=alb.ListenerAction(action_json=alb.CfnListener.ActionProperty(
            type="redirect",
            redirect_config=alb.CfnListener.RedirectConfigProperty(
                status_code="HTTP_301",
                host="#{host}", …
Run Code Online (Sandbox Code Playgroud)

python aws-cdk aws-application-load-balancer

3
推荐指数
1
解决办法
3966
查看次数

是否可以在 aws NLB 后面实现基于路径的路由?

我有一个用例:-我的网络服务器有大量流量,因此我需要更高的性能和更好的延迟,但是有 2 条流量传入的路径。

根据我的理解,这可以通过 aws NLB 来实现,它可以扩展到每秒 1000 个请求和 100 毫秒的子延迟

但是我有www.jatin.com www.jatin.com/somepath这意味着它需要基于路径的路由,这是由aws ALB.

I need performance as well as path based routing 通过 NLB 可以实现吗?

amazon-web-services amazon-elb aws-application-load-balancer

3
推荐指数
1
解决办法
4852
查看次数

AWS ALB 创建基于路径的路由 - 将子目录重定向到根目录

我在 AWS 上运行一个应用程序,它在 application/ 目录下运行。我想在 AWS 负载均衡器上创建基于路径的路由并将其作为两个应用程序运行,但收到​​ 404 错误。如何使用 AWS Application Load Balancer 执行此操作而不在后端执行任何操作?

结构:

  1. domain.com/server1 (AWS 负载均衡器) ---> TargetGroup1 --- > /
  2. domain.com/server2 (AWS 负载均衡器) ---> TargetGroup2 --- > /

简而言之,当我想要访问地址时,我希望在我的后端(正在运行)服务器https://lbaddress/test1上运行的软件运行root folder /

Nginx 方面,我可以执行以下操作。

location ^~ /server1 {
      rewrite ^/server1(.*)$ $1 last; 
}
Run Code Online (Sandbox Code Playgroud)

该规则不起作用,面临 404 代码。

amazon-ec2 amazon-web-services aws-application-load-balancer

3
推荐指数
1
解决办法
3137
查看次数