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
    • 最新
    • 标签
主页 / user-125946

aspyct's questions

Martin Hope
aspyct
Asked: 2020-05-12 08:35:33 +0800 CST

来自 S3 存储桶的 CloudFront 分配:大的“存储桶是公共的”警告。会出什么问题?

  • 0

我正在将现有的静态网站移动到 S3/CloudFront。

根据 AWS 的一些文档,我在 S3 存储桶上设置了一个策略以将其公开:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mywebsite.org/*"
        }
    ]
}

然而,当应用上述政策时,AWS 给了我一个(老实说可怕的)警告。与此线程中讨论的相同: Serving website from Cloudfront and S3 without public bucket

实际上,我首先尝试了他们在该答案中描述的方式,设置了原始访问身份,但这导致了令人讨厌的副作用:目录 url(https://mywebsite.org/directory/)不会index.html在那里获取文件,并导致 403 代替。

不幸的是,这种行为破坏了很多现有的链接(包括其他网站上的链接),所以我不能这样做。

也有可能使用 lambda@edge 来解决这个问题,但老实说,这听起来像是更多的代码、更多的问题和更多的钱。

所以回到可怕的警告:

AWS 警告我 S3 存储桶现已公开

这是一个静态网站,所以很明显事情会公开。然而,这个消息仍然令人担忧。有什么我应该知道的、意外访问或潜在的安全问题吗?有没有办法在不破坏链接或使用 lambda@edge 的情况下解决这个问题?

amazon-s3 amazon-web-services amazon-cloudfront
  • 1 个回答
  • 79 Views
Martin Hope
aspyct
Asked: 2020-05-08 06:30:21 +0800 CST

Cloudtrail S3 数据事件:“S3 数据资源的最大数量为 250”

  • 1

我们需要使用 cloudtrail(特别是使用 cloudtrail,而不是 s3 访问日志)监控我们的一个 S3 存储桶中的对象级访问和更改。

cloudtrail 文档在一个小注释中指出,最多可以查看 250 个数据资源。(请参阅https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)

这是否意味着最多将监视我们存储桶中的 250 个对象,或者我可以在整个存储桶上设置一个监视,并获取关于我们在其中的 1000 多个对象的报告?

amazon-s3 amazon-web-services
  • 1 个回答
  • 62 Views
Martin Hope
aspyct
Asked: 2020-03-12 10:18:49 +0800 CST

nginx:使用 $http_host 作为服务器根目录是否安全?

  • 6

我想用我的 nginx 服务器提供任意域名。

这一点配置似乎工作得很好:

    location / {
        root   /www/$http_host;
        index  index.html index.htm;
    }

例如,为请求提供服务www.mydomain.com将在/www/www.mydomain.com/. 它有效,看起来很完美。

但是我不确定这是否安全。这会允许任何类型的目录遍历或其他安全问题吗?nginx 对 $http_host 进行了哪些验证?

nginx
  • 1 个回答
  • 165 Views
Martin Hope
aspyct
Asked: 2019-12-20 05:00:20 +0800 CST

Prometheus:抓取间隔为1m,但分辨率仍为15s

  • 3

tl; dr:我的刮擦间隔是 1m,但我有 15s 的分辨率。为什么?


我的 prometheus 配置包括一个抓取 kong 指标的工作:

- job_name: kong_blue
  honor_timestamps: true
  scrape_interval: 1m
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: https
  dns_sd_configs:
  - names:
    - ...

因此,当在targetsHTML 界面中的选项卡上时,我们可以看到 kong 大约每分钟被刮一次,正如预期的那样。

但是,当我查询该数据时,例如kong_http_status,prometheus 表示分辨率为 14 秒。实际上,该图还显示每 15 秒一个值“滴答”。

prometheus中kong_http_status查询,显示14s分辨率

为什么我的分辨率是 15s?

monitoring
  • 2 个回答
  • 4097 Views
Martin Hope
aspyct
Asked: 2019-10-30 01:47:57 +0800 CST

Kubernetes - 如何调试失败的调度“0 个节点可用”

  • 5

我经常发现自己试图启动一个新的 pod,却得到一个错误,说没有可用的节点。就像是:

0/9 nodes are available: 1 node(s) had no available volume zone, 8 node(s) didn't match node selector.

当我收到这些消息时,我总是不知所措。我应该如何调试它?

kubernetes
  • 1 个回答
  • 7781 Views
Martin Hope
aspyct
Asked: 2019-08-21 01:44:31 +0800 CST

rsyslog:从环境变量中指定 `action` 参数

  • 1

我正在使用 rsyslog 将日志发送到 elasticsearch。这一切在我的本地环境中运行良好,但现在我正试图使其更通用并在需要的地方注入环境变量。

作为我的 rsyslog.conf 的一部分是这个 omelasticsearch 操作:

action(
    type="omelasticsearch"
    server=<somehow use $ES_HOST here>
    template="haproxy"
    bulkmode="on"
    searchIndex="haproxy-index"
    dynSearchIndex="on"
    usehttps="on"
    asyncrepl="on"
    uid=<somehow use $ES_USER here>
    pwd=<somehow use $ES_PASSWORD here>
)

我尝试使用getenv()和设置变量,但我找不到将所述变量注入到我的操作参数中的方法。

我错过了一些简单的事情,还是那不可行?

logging
  • 2 个回答
  • 1510 Views
Martin Hope
aspyct
Asked: 2019-08-07 05:29:15 +0800 CST

Elasticsearch:如何“拯救”无法通过映射解析的文档?

  • 2

我们使用 ElasticSearch 来存储和检查来自我们基础设施的日志。其中一些日志是法律要求的,我们不能丢失任何日志。

我们已经在没有任何映射的情况下解析日志很长一段时间了。这使得它们大多无法用于搜索和/或绘图。例如,一些整数字段已被自动识别为文本,因此我们无法在直方图中聚合它们。

我们想引入模板和映射,这将解决新索引的问题。

但是,我们注意到拥有映射也为解析失败打开了大门。如果一个字段被定义为整数,但突然得到一个非整数值,那么解析将失败,文档将被拒绝。

这些文件有什么地方去和/或有什么方法可以保存它们以供以后检查?

下面的 Python 脚本适用于本地 ES 实例。

#!/usr/bin/env python3

import requests
import JSON
from typing import Any, Dict


ES_HOST = "http://localhost:9200"


def es_request(method: str, path: str, data: Dict[str, Any]) -> None:
    response = requests.request(method, f"{ES_HOST}{path}", json=data)

    if response.status_code != 200:
        print(response.content)


es_request('put', '/_template/my_template', {
    "index_patterns": ["my_index"],
    "mappings": {
        "properties": {
            "some_integer": { "type": "integer" }
        }
    }
})

# This is fine
es_request('put', '/my_index/_doc/1', {
    'some_integer': 42
})

# This will be rejected by ES, as it doesn't match the mapping.
# But how can I save it?
es_request('put', '/my_index/_doc/2', {
    'some_integer': 'hello world'
})

运行脚本会出现以下错误:

{
    "error": {
        "root_cause": [
            {
                "type": "mapper_parsing_exception",
                "reason":"failed to parse field [some_integer] of type [integer] in document with id '2'. Preview of field's value: 'hello world'"
            }
        ],
        "type": "mapper_parsing_exception",
        "reason":"failed to parse field [some_integer] of type [integer] in document with id '2'. Preview of field's value: 'hello world'",
        "caused_by": {
            "type": "number_format_exception",
            "reason": "For input string: \"hello world\""
        }
    },
    "status": 400
}

然后文件丢失了,或者看起来是这样。我可以在某处设置一个选项,将文档自动保存在其他地方,一种死信队列吗?

tl;dr:我们需要映射,但不能因为解析错误而丢失日志行。我们可以自动将不适合映射的文档保存到其他地方吗?

logging
  • 2 个回答
  • 1778 Views
Martin Hope
aspyct
Asked: 2019-02-16 03:16:57 +0800 CST

Redis sentinel:强制切换到另一个master

  • 3

语境:

我有 3 个 redis 节点和 3 个哨兵。故障转移正常工作。当我把主人打倒时,另一个主人被选举了。

需要:

我需要一种测试行为的方法,以确保一切按预期工作。我希望我可以强制哨兵选择一个特定的 redis 节点作为主节点。

我想我可以通过关闭两个不应该成为主节点的节点来做到这一点,但我希望我可以向其中一个哨兵发出命令来解决我的问题。

tl;博士:

我可以指示我的哨兵选择特定的 redis 节点作为主节点吗?

high-availability
  • 1 个回答
  • 8577 Views
Martin Hope
aspyct
Asked: 2019-02-02 03:18:18 +0800 CST

无法向 cassandra 进行身份验证:无法达到一致性级别 LOCAL_ONE

  • 1

语境:

我们有一个 Cassandra 集群,其中 3 个节点部署为 Openshift 中的有状态集。这三个节点配置在同一个数据中心、同一个机架中。

我还编写了一个脚本来测试 Cassandra 一致性级别错误。它在 Openshift 中作为 pod 运行,连接到集群并在循环中运行选择查询。它知道所有 Cassandra 节点的 IP 地址。

问题:

如果我将有状态集(也在该节点上运行)中的副本数从 3 减少到 2 nodetool drain,则脚本无法再连接到集群。我收到以下错误:

cassandra.cluster.NoHostAvailable: ('无法连接到任何服务器', {'172.17.0.10': OSError(None, "尝试连接到 [('172.17.0.10', 9042)]。最后一个错误:超时") , '172.17.0.9': AuthenticationFailed('无法对 172.17.0.9 进行身份验证:错误或来自服务器:code=0100 [Bad credentials] message="用户管理员身份验证期间出错:org.apache.cassandra.exceptions.UnavailableException : 无法达到一致性级别 LOCAL_ONE"',), '172.17.0.8': ConnectionRefusedError(111, "尝试连接到 [('172.17.0.8', 9042)]。最后一个错误: 连接被拒绝"), '172.17.0.11 ': AuthenticationFailed('无法向 172.17.0.11 进行身份验证:来自服务器的错误:code=0100 [Bad credentials] message="用户管理员身份验证期间出错:org.apache.cassandra.exceptions.UnavailableException: 无法达到一致性级别 LOCAL_ONE"',)})

问题:

由于两个节点仍然可用,为什么认证无法获得 LOCAL_ONE 一致性级别,我该如何解决我的问题?

high-availability
  • 1 个回答
  • 5070 Views
Martin Hope
aspyct
Asked: 2017-02-02 02:50:39 +0800 CST

Azure:Linux VM 还原不起作用

  • 3

我在 Azure 上有一个 Ubuntu 虚拟机。这台机器只有一个磁盘,操作系统磁盘。我为这台服务器创建了一个备份库,备份每晚凌晨 2 点运行。

这台服务器肯定很快就要生产了,所以我开始测试备份系统。

备份看起来很成功:我上个月有 30 个还原点,每个都标记为“文件系统一致”)。

我今天尝试恢复。所以我从数据库中删除了一些东西(很好,它还没有在 prod 上),并尝试使用“恢复磁盘”恢复昨天的备份。

Azure 告诉我恢复成功,但我删除的数据没有恢复。我什至重新启动了虚拟机,但没有效果。

我错过了什么?

backup restore azure
  • 1 个回答
  • 249 Views
Martin Hope
aspyct
Asked: 2014-02-10 12:09:32 +0800 CST

我的 ssh 服务器已关闭。怎么办?

  • -3

我相信我在这里做了一些愚蠢的事情......你能帮帮我吗?我刚刚更新了 ssh 服务器的配置(更改了端口)。所以我决定重启服务器:/etc/init.d/ssh restart.

也许有更好的主意,但已经完成了。现在事情是这样的:显然它没有重新启动。我无法访问它,而且我是唯一可以访问此服务器的人。好东西:没有任何关键的东西运行在它上面。

但是有没有办法从这种失败中恢复,或者我要完全重新安装?

linux
  • 2 个回答
  • 4682 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