我正在尝试通过 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
当使用 awsvpc 网络模式转移到 ECS 时,我的 ALB 说我的所有主机都不健康,因为检查/status/
产生 400 秒。我已将其缩小到 ALLOWED_HOSTS 出现问题的问题。
如何让我的网络应用程序向 ELB Healthchecker 提供 200 个?
django amazon-ecs amazon-elb aws-load-balancer aws-application-load-balancer
我以一种方式配置了AWS ALB,它应该将(https://example.com/api/v1/ * )的请求重定向(302)到另一个区域。但是,事实证明,AWS ALB的REDIRECT功能正在将所有http:方法(POST,PUT等)更改为GET-因此在目标服务器上,我仅收到“ GET”请求。
现在我不知道这是否是
谁能帮助解决难题?
我想将 Laravel 网站部署到亚马逊,所以我执行了以下步骤:
请注意,Tg443 具有有效的 SSL 证书
将 Ec2 的安全组更改为负载均衡器的安全组
**结果: **
该网站在 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 …
我是 AWS 新手。我开始学习ALB和NLB。我知道 ALB 在第 7 层协议中工作,NLB 在第 4 层协议中工作。
谁能解释一下 ALB 和 NLB 的实时示例吗?何时使用 ALB 和 NLB?
尽管所有 Web 应用程序都将使用 TCP 协议在服务器和客户端之间建立连接。
那么ALB使用TCP(第4层)协议吗?
那么它们之间有什么不同呢?谁能简单解释一下吗???
我在带有 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
我正在尝试找到一种方法来阻止我的 ALB 上发生主机标头攻击。我的负载均衡器负责将端口 80 重定向到 443,这就是可能发生攻击的地方。现在我能看到的唯一方法是手动添加每个域,然后将默认规则设置为 503。而不是默认规则将主机重定向到 443。但是,我有很多域似乎应该有一种更简单的方法来做到这一点。
有人能想出一种方法来防止 ALB 中的主机标头操纵吗?
security amazon-web-services penetration-testing amazon-elb aws-application-load-balancer
学习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) 我有一个用例:-我的网络服务器有大量流量,因此我需要更高的性能和更好的延迟,但是有 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
我在 AWS 上运行一个应用程序,它在 application/ 目录下运行。我想在 AWS 负载均衡器上创建基于路径的路由并将其作为两个应用程序运行,但收到 404 错误。如何使用 AWS Application Load Balancer 执行此操作而不在后端执行任何操作?
结构:
简而言之,当我想要访问地址时,我希望在我的后端(正在运行)服务器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
aws-application-load-balancer ×10
amazon-elb ×4
amazon-ecs ×2
amazon-ec2 ×1
aws-cdk ×1
aws-fargate ×1
django ×1
laravel ×1
python ×1
security ×1