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-elb](server)

Martin Hope
griswoldbar
Asked: 2022-02-18 03:50:13 +0800 CST

当请求将其 SSL 协议指定为“TLSv1”时,这意味着什么?

  • 1

我想将我的 AWS ELB 升级到仅允许 TLS v1.2 的安全策略。

在此之前,我想检查 ELB 日志以确保当前没有客户使用旧版本。

我的 ELB 日志有一个字段“ssl_protocol”。大多数请求记录“TLSv1.2”,但少数指定“TLSv1”。(也有一些 v1.0 和 v1.1,但这些都收到 4XX 响应,因此可能是非法流量)。

但我不太确定这个“TLSv1”是什么。从这个问题听起来,一个指定了 TLSv1 协议的请求说它可以通过任何TLSv1 次要版本进行加密,因此如果我不允许版本 1.0 和 1.1,这些请求仍然可以使用 1.2 成功加密。

这个对吗?

ssl amazon-elb
  • 2 个回答
  • 48 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
Barry Chapman
Asked: 2022-02-01 18:45:49 +0800 CST

为什么将 100k JSON 文件发布/上传到 AWS CloudFront 终端节点会导致 504 错误?

  • 0

在 wordpress 站点上,我们有请求进入 CloudFront,它将请求发送到通过 ELB 的源(如有必要),并发送到将为请求提供服务的两个或三个实例。

大多数请求都有效,但是当我们将 JSON 文件上传到 时admin-ajax.php,会导致我们从 CloudFront 日志中捕获的 504 错误:

2022-01-31  21:32:24    MIA3-C2 1462    67.190.247.197  POST    d2q8ixmwt0jy43.cloudfront.net   /wp-admin/admin-ajax.php    504 https://xxxxxxx.com/wp-admin/edit.php?post_type=elementor_library&tabs_group=library    Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/97.0.4692.99%20Safari/537.36%20Edg/97.0.1072.76 -   -   Error   Ae0gLzThCiZR2N5D8gLO6s-o8IwwlmYrxWvUbUgr1A64_nMpzN0qRg==    evolvetelemed.com   https   167737  30.107  -   TLSv1.3 TLS_AES_128_GCM_SHA256  Error   HTTP/2.0    -   -   64798   30.107  OriginCommError text/html   1033    -   -

该错误似乎是OriginCommError,但我不明白为什么会出现该错误。在我们的 Web 服务器上跟踪实例上的日志表明请求甚至没有到达那里。

我不确定为什么有些请求会起作用而有些则不会。再进一步总结一下,当媒体库中的二进制文件上传到 时async-upload.php,它可以工作。

我们nginx用作前端的网络服务器,php-fpm用于处理 php。

amazon-ec2 wordpress amazon-web-services amazon-cloudfront amazon-elb
  • 1 个回答
  • 436 Views
Martin Hope
JohnnyAce
Asked: 2021-03-09 21:57:49 +0800 CST

代理转发在 Nginx、Laravel、弹性负载均衡器上不起作用

  • 0

我有一个 AWS 弹性负载均衡器,它接收域 (bunny.misite.dev) 的 https 请求,请求通过 http 发送到服务器 Nginx,Laravel 应用程序回答请求。

我遇到的问题是 Laravel 没有将请求识别为 Https,而是将请求识别为 http。

为了解决这个问题,Laravel 提供了一个我使用过的“可信代理”中间件:

<?php

namespace App\Http\Middleware;

use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request;

class TrustProxies extends Middleware
{
    /**
     * The trusted proxies for this application.
     *
     * @var array|string|null
     */
    protected $proxies = '*';

    /**
     * The headers that should be used to detect proxies.
     *
     * @var int
     */
    protected $headers = Request::HEADER_X_FORWARDED_FOR |
        Request::HEADER_X_FORWARDED_HOST |
        Request::HEADER_X_FORWARDED_PORT |
        Request::HEADER_X_FORWARDED_PROTO |
        Request::HEADER_X_FORWARDED_AWS_ELB;
}

我的 nginx 配置是

server {
    listen                  80 ;
    listen                  [::]:80 ;

    server_name             bunny.misite.dev;
    server_tokens           off;
    error_log               /home/main/logs/nginx/bunny-master_error.log;
    access_log              /home/main/logs/nginx/bunny-master_access.log main buffer=16k;
    access_log              /var/log/nginx-rc/bunny-master_traffic.log traffic;

    client_max_body_size    256m;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    root /home/main/webapps/bunny-master/live/public;
    index index.php index.html index.htm;

    location / {
        
        proxy_send_timeout         60;
        proxy_read_timeout         60;
        proxy_buffer_size          128k;
        proxy_buffers              4 256k;
        proxy_busy_buffers_size    256k;
        proxy_temp_file_write_size 256k;
        proxy_connect_timeout       30s;

        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Server-Addr $server_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port  $server_port;

        proxy_pass http://backend;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location = /favicon.ico {
        log_not_found off;
    }

    location @proxy {
        proxy_send_timeout         60;
        proxy_read_timeout         60;
        proxy_buffer_size          128k;
        proxy_buffers              4 256k;
        proxy_busy_buffers_size    256k;
        proxy_temp_file_write_size 256k;
        proxy_connect_timeout       30s;

        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Server-Addr $server_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://backend;
    }
}
nginx laravel amazon-elb
  • 1 个回答
  • 1539 Views
Martin Hope
chris
Asked: 2020-11-24 14:06:56 +0800 CST

apache 2.4 配置允许 ELB 健康检查

  • 0

我在 AWS Application Load Balancer 后面有一个 EC2 实例,运行 apache 2.4

健康检查配置为在 /health/ 上执行 GET

我配置了虚拟主机和两个虚拟主机条目 - 一个带有服务器名称,一个用于直接处理对 IP 地址的传入请求。aaa_first 应该首先加载,因此是默认值。

但是,当我直接访问实例的公共 IP 时,我得到了默认的 apache 欢迎页面,并且健康检查得到了 403:

"GET /health/ HTTP/1.1" 403 199 "-" "ELB-HealthChecker/2.0"

aaa_first.conf 包含:

<VirtualHost *:80>
  ServerName aaa

  <Location /var/www/html>
     Require all denied
  </Location>

  <Location /var/www/html/health>
     Require ip 10.151.0.0/20
     Require all denied
  </Location>
  CustomLog logs/0000_access.log combined-elb-host
</VirtualHost>

default.conf 包含:

<VirtualHost *:80>
  ServerName host.example.com

  DocumentRoot /var/www/html
  DirectoryIndex index.html

  ErrorLog logs/error.log
  CustomLog logs/access.log combined-elb-host

  <Directory "/var/www/html">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

除了来自 ELB 的运行状况检查之外,我需要什么来确保阻止对 IP 的请求?

virtualhost amazon-web-services apache-2.4 amazon-elb
  • 1 个回答
  • 1797 Views
Martin Hope
Upul Dissanayake
Asked: 2020-11-16 04:43:42 +0800 CST

AWS 推荐 54 个 t2.nano EC2 实例而不是一个 m5.xlarge

  • 12

我们在 m5.xlarge EC2 实例上部署了一个 Web 应用程序,当我们尝试购买年度或 3 年预留许可证时,AWS 建议根据我们当前的使用情况,建议购买 54 个 t2.nano 实例而不是 m5.xlarge我们现在有。它计算并显示总成本的差异,并表明选择该选项对我们来说更有利可图。

我无法理解的是,购买 54 个 t2.nano 而不是一个 m5.xlarge 意味着什么?这是否意味着我们需要在所有 54 个 nano EC2 服务器中托管应用程序,然后将其通过 ELB?我对该怎么做有点困惑

amazon-ec2 amazon-web-services amazon-elb
  • 2 个回答
  • 2858 Views
Martin Hope
Kaustubh Desai
Asked: 2020-10-30 05:29:22 +0800 CST

AWS 私有网络负载均衡器上的 TCP 443 侦听器抛出 SSL_ERROR_RX_RECORD_TOO_LONG

  • 0

我有一个AWS private Network Load Balancer带有侦听器的设置,TCP 443附加到此侦听器的目标组也在端口 443 上运行。附加到此目标的实例正在Apache 2.4运行Centos 7。

Web 服务器配置已经过双重检查,当我运行以下命令时它可以工作。
这里 xxxx 是实例的私有 IP 地址。
$ curl -kv https://x.x.x.x
上述命令适用于 VPC。

但是当我使用私有 NLB 域名时:
$ curl -kv https://some-unique-id.elb.region.amazonaws.com

它给出了以下错误:

* About to connect() to some-unique-id.elb.region.amazonaws.com port 443 (#0)
*   Trying x.x.x.x...
* Connected to some-unique-id.elb.region.amazonaws.com (x.x.x.x) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL received a record that exceeded the maximum permissible length.
* Closing connection 0
curl: (35) SSL received a record that exceeded the maximum permissible length.

配置总结

  • 实例操作系统 = Centos 7.7
  • 网络服务器 = Apache 2.4
  • AWS NLB 面向内部
  • NLB 有监听器TCP 443

我已经在端口 80 上尝试过,一切正常,但我在 443 上遇到了这个问题,我为此搜索了很多,大多数答案都指出 Apache 上的某些配置缺失,但我所有这些都已经配置在我的 conf 文件中。任何指导都会有所帮助。

Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300

SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin

SSLCryptoDevice builtin

<VirtualHost x.x.x.x:443>

ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA


SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key



SSLVerifyClient none


<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

DocumentRoot /path/to/my/app
    
<Directory "/path/to/my/app">
    Options -Indexes -FollowSymLinks -Includes -ExecCGI -MultiViews
    AllowOverride all
    Allow from all
    Require all granted
</Directory>


</VirtualHost>
ssl https amazon-web-services apache-2.4 amazon-elb
  • 1 个回答
  • 1094 Views
Martin Hope
user784637
Asked: 2020-09-03 06:20:16 +0800 CST

为什么我的 AWS NLB 的多个地址记录中只有一个同时工作?

  • 1

我正在使用 AWS 网络负载均衡器。当我发出nslookup dualstack.app.elb.us-east-2.amazonaws.com时,输出是

Non-authoritative answer:
Name:   dualstack.app.elb.us-east-2.amazonaws.com
Address: 3.xxx.xxx.176
Name:   dualstack.app.elb.us-east-2.amazonaws.com
Address: 18.xxx.xxx.40

我注意到这些 IP 中的每一个都位于不同的可用区域中,并且一次只有一个 IP 有效。dualstack.app.elb.us-east-2.amazonaws.com/healthcheck向via发出请求curl只有一半的时间有效。但是,从我的浏览器发出相同的请求 100% 的时间都有效,因为 chrome 有自己的处理循环 DNS 的方法(相关:https ://serverfault.com/a/774411,https : //serverfault.com /a/852421 )

这是 NLB 的预期行为,即当存在多个 IP 时,一次只有一个 IP 可以工作?

load-balancing amazon-web-services amazon-elb
  • 3 个回答
  • 1006 Views
Martin Hope
paullb
Asked: 2020-08-04 01:26:33 +0800 CST

AWS EC2 负载均衡器上的“编辑运行状况检查”显示为灰色

  • 3

默认的 AWS EC2 负载均衡器运行状况检查命中“/”,但我宁愿让它命中某个地方。在负载均衡器设置中,“编辑健康检查”是灰色的,我不知道为什么。我不断在访问日志中看到 ELB-Healthchecker。如何更改健康检查 URL?

172.31.46.123 - - [03/Aug/2020:19:03:28 +0900] "GET / HTTP/1.1" 200 21043 "-" "ELB-HealthChecker/2.0"
172.31.12.60 - - [03/Aug/2020:19:03:30 +0900] "GET / HTTP/1.1" 200 21043 "-" "ELB-HealthChecker/2.0"
172.31.46.123 - - [03/Aug/2020:19:03:58 +0900] "GET / HTTP/1.1" 200 21043 "-" "ELB-HealthChecker/2.0"
172.31.12.60 - - [03/Aug/2020:19:04:00 +0900] "GET / HTTP/1.1" 200 21043 "-" "ELB-HealthChecker/2.0"

负载均衡器列表

amazon-ec2 amazon-web-services amazon-elb
  • 2 个回答
  • 1281 Views
Martin Hope
zsolt.k
Asked: 2020-07-25 07:49:17 +0800 CST

AWS 自动伸缩和 ELB,使用不同的健康检查机制

  • 1

我需要一些关于 AWS 自动缩放、负载均衡器和健康检查的建议:

是否可以区分两种健康检查机制,一种是何时向实例发送或不发送流量(但不终止/替换它),另一种是何时终止/替换该实例。

场景:

  • 我在负载均衡器后面有两个实例,我使用自动缩放。我想在其中一个实例上执行一些维护任务,所以我不希望负载均衡器向它发送任何流量。但后来我想把它重新投入使用。
  • 与上面相同,负载均衡器后面的两个实例使用自动缩放。其中一个实例存在不可恢复的问题,因此我希望自动缩放终止它并替换为另一个实例。

提前感谢您的答案。

healthcheck amazon-web-services amazon-elb
  • 1 个回答
  • 51 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