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-189017

Tom Brossman's questions

Martin Hope
Tom Brossman
Asked: 2018-07-27 13:53:33 +0800 CST

如何限制 S3 对象仅访问 CloudFront?

  • 0

TL;DR - 如何https://s3-eu-west-1.amazonaws.com/BUCKET-NAME/FILE.EXT在允许来自 CloudFront 的请求的同时阻止请求?

我遵循了 AWS 文档“ Restricting Access to Amazon S3 Content by Using an Origin Access Identity ”,这似乎已经过测试并且工作得几乎完美(在我的情况下使用备用域名集),但是当我尝试使用 URL 时......

https://s3-eu-west-1.amazonaws.com/BUCKET-NAME/index.html

...返回 index.html 文档!更糟糕的是,我可以按照这个约定访问存储桶中的任何对象。我的理解是这不应该发生,只有 CloudFront URL 应该返回对象。

S3 存储桶的静态网站托管已禁用。访问 S3 端点 URL 会http://BUCKET-NAME.s3-website-eu-west-1.amazonaws.com/index.html返回 404(代码为“NoSuchWebsiteConfiguration”),这是预期的结果。有人可以解释为什么其他链接有效,而不是返回 403 或 404 错误吗?

当我设置 CloudFront 分配时,对于“授予对存储桶的读取权限”选项,我选择了“是,更新存储桶策略”,这产生了现在使用的 S3 存储桶策略:

{
  "Version": "2008-10-17",
  "Id": "PolicyForCloudFrontPrivateContent",
  "Statement": [
    {
      "Sid": " Grant a CloudFront Origin Identity access to support private content",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXX"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::BUCKET-NAME/*"
    }
  ]
}
amazon-web-services
  • 1 个回答
  • 1862 Views
Martin Hope
Tom Brossman
Asked: 2018-06-06 13:03:34 +0800 CST

如何使用 CloudFront 配置 HSTS 重定向先决条件?

  • 1

HSTS Preload List Submission 网站有非常具体的先决条件,不允许将协议更改和重定向合并为一个步骤(经典示例 -http://example.com直接重定向请求以https://www.example.com使其测试失败 - 必须首先将协议升级到 HTTPS,然后可能是“www”子域在离散步骤中添加)。托管在 Amazon CloudFront 上的站点是否可以满足这些规则?

这里有一个相关的问题,关于发送必要的标头,但我已经对那部分进行了测试和工作。对于使用 www 子域的站点,我的问题是重定向。

我将 CloudFront 配置为在默认行为下“将 HTTP 重定向到 HTTPS”,这对所有 HTTP 请求都非常有效,但是在升级到 HTTPS 之前https://example.com首先重定向到降级协议的请求http://www.example.com,这就是我卡住的地方。我需要以不同的方式处理二级域的 HTTP 和 HTTPS 请求。

为清楚起见,这是我想要实现的重定向模式:

http://example.com > https://example.com > https://www.example.com
http://www.example.com > https://www.example.com
https://example.com > https://www.example.com
https://www.example.com

这是 CloudFront 现在正在做的事情,第三行(协议降级)导致 HSTS Preload 提交失败:

http://example.com > https://example.com > https://www.example.com
http://www.example.com > https://www.example.com
https://example.com > http://www.example.com > https://www.example.com
https://www.example.com
amazon-web-services
  • 1 个回答
  • 1219 Views
Martin Hope
Tom Brossman
Asked: 2017-02-24 06:36:58 +0800 CST

从文本文件生成多个 Bash 选项?

  • 1

我有一个将域名作为选项的命令。我有一长串要包含的域名,因此我想将该域列表自动解析到命令中。

例如,最简单的用法是command --option=example-one.com --output=file.ext. 添加域列表后,最终执行的命令将如下所示command --option=example-one.com ... --option=example-99.io --output=file.ext (其中“...”将是 97 个更多选项,此处显示缩写)

这可以在 Bash 中进行吗?如果可以,请问它叫什么?

这是我尝试过的到目前为止还没有奏效的方法:

  1. command --option=$(cat domains.txt) --output=file.ext
  2. command "$(while read baddomains ; do echo -n '--option=$baddomains ' ; done < domains.txt)" --output=file.ext
  3. command --option="domains.txt" --output=file.ext

该命令while read baddomains ; do echo -n '--option=$baddomains ' ; done < domains.txt > all-options.txt确实将格式完美的选项列表输出到新文件 all-options.txt 中,但我不明白如何将选项的输出重定向回命令,而不是文本文件。

域列表包括西里尔字符,如果这很重要的话。

bash options
  • 2 个回答
  • 55 Views
Martin Hope
Tom Brossman
Asked: 2016-10-01 04:18:36 +0800 CST

我可以在重新加载/重新启动时自动使 Nginx OCSP 装订证书吗?

  • 6

有没有办法让 Nginx每次重新加载配置或重新启动时主动OCSP 主打证书?或者,是否可以将 Nginx 设置为在重新加载或重新启动时保存装订的证书而不是丢弃它们?重新加载或重新启动 Nginx 似乎会清除所有缓存的 OCSP 装订证书。

我在运行 Nginx 1.11.4 并使用Certbot 的 OCSP Must-Staple TLS 功能扩展的 Ubuntu 16.04.1 服务器上进行了 OSCP 装订测试和工作。我的问题是,在重新加载或重新启动 Nginx 时,没有保存装订的响应,而是第一个访问者看到一个错误页面(这是服务器尚未装订的“必须装订”证书的预期结果)。

我必须访问服务器托管的每个网站并重新加载它们几次,而 Nginx 会自动 OCSP 装订证书,然后一切都会重新开始工作,直到下一次重新启动。我想自动化这一步或完全避免它。

nginx ocsp
  • 1 个回答
  • 2553 Views
Martin Hope
Tom Brossman
Asked: 2015-03-16 03:14:25 +0800 CST

设置内容安全策略是否与 Joomla 的管理页面不兼容?

  • 3

我想为在 Apache 2.4 上运行的 Joomla 网站设置内容安全策略标头。

使用h5bp 中的此配置和设置Header set Content-Security-Policy "script-src 'self'; object-src 'self'"为我在 www.example.com/administrator/ 上的 Joomla 登录页面提供了一个空白页面。我怎样才能使用此策略并仍然登录?

检查控制台,错误信息是:

内容安全策略:页面的设置阻止了自身资源的加载(“script-src http://www.example.com ”)。

管理员页面完全来自 example.com,没有第三方内容。除了设置了策略的登录页面上的空白页面外,该站点运行良好。检查 /administrator 页面源,除了没有运行 JS 之外,它看起来很普通。完整页面源代码的副本在此处。

因为我已将 example.com 列入白名单,其中包含“script-src 'self'; object-src 'self'”,所以我希望页面会呈现,但我显然遗漏了一些东西。

我现在用一个新的 VPS 重新测试了这个,并且干净地安装了 Joomla,没有自定义。设置内容安全策略并重新启动 Apache 会立即重现该问题 - 完全空白的管理页面,伴随着浏览器中的控制台错误,抱怨该策略阻止了资源的加载。更改"script-src 'self'为"script-src 'example.com'或"script-src 'IP:AD:DR:ESS'无济于事,所有脚本都被阻止,句号。

知道如何使其正常工作或进一步排除故障吗?

security
  • 1 个回答
  • 2492 Views
Martin Hope
Tom Brossman
Asked: 2014-04-19 22:45:37 +0800 CST

Nginx 可以重定向或重写以“?”开头的 URL 不使用“if”指令?

  • 0

example.com/?format=feed&amp;type=rss我有一个来自旧 Joomla 安装的 RSS 提要。该站点现在使用 Jekyll 构建,并example.com/rss.xml为 RSS 提要使用新的 URL。

重写规则对我不起作用,因为 URL 以“?”开头。我已经使用 if 指令,但想避免使用 if。

这是我想用重写或重定向替换的有效 if 指令:

if ($args ~ "type=rss") {
rewrite ^ https://example.com/rss.xml? permanent;
}

以“?”开头的 URL 的 if 指令可以吗?替换为重写或重定向?

nginx
  • 1 个回答
  • 615 Views
Martin Hope
Tom Brossman
Asked: 2014-04-19 13:51:55 +0800 CST

为什么 Nginx 不会为以问号开头的 URL 返回 404 错误?

  • 2

我试图让重写规则工作,我发现如果 URL 以问号开头,Nginx 无法按预期返回 404 错误。相反,根指令中定义的 index.html 会为所有以“?”开头的 url 提供服务。(例如example.com/?page-does-not-exist适用于主页但不应该)

这使得无法从example.com/?format=feed&amp;type=rss->example.com/rss.xml工作中获得重定向。这是一个从 Joomla 迁移到 Jekyll 的博客。

简而言之,访问example.com/123 会返回 404,而访问example.com/?123 不会。后者在 URL example.com?/123 处返回站点的主页。(没有文件或文件夹“123”,因此对它的请求应该总是失败。)

一切都与该站点完美配合,包括 HTTPS 重定向,但以问号开头的 URL 不会发生预期的 404 重定向。我该如何解决?

这是我的配置:

server {
    server_name example.com;
    root /var/www/example.com;
    index index.html;
    listen 443;
    ssl on;      
    ...

    rewrite "/?format=feed&amp;type=rss" https://example.com/rss.xml permanent;

    location ~* \.(?:ico|css|js|gif|jpeg|jpg|png|txt|svg|eot|woff|ttf)$ {
            expires max;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            add_header Access-Control-Allow-Origin *;
            valid_referers none blocked example.com;
            if ($invalid_referer) {
                    return 403;
            }
    }
}

# HTTP --> HTTPS
server {
        listen 80;
        server_name www.example.com example.com;
        return 301 https://example.com$request_uri;
}
nginx
  • 2 个回答
  • 3066 Views
Martin Hope
Tom Brossman
Asked: 2014-01-10 12:20:39 +0800 CST

如何像支持它的 DNS 主机一样执行“裸域别名”?

  • 3

我的目标是使用 GitHub Pages 并从他们的 CDN 中受益,而不必使用支持 DNS ALIAS 记录类型(或 ANAME - 都不是公认的标准)的第三方 DNS 主机。我想知道他们是怎么做到的,有人能解释一下吗?

我们在这里有很多关于 CNAME 记录的 DNS 别名的问题,但在这种特殊情况下,我无法将裸域 CNAME 到username.github.io.

如果我使用 Apache 或 Nginx 来让 www.example.com 作为 GitHub 页面工作,它会起作用吗?我会破坏电子邮件之类的东西吗?

阿帕奇

<VirtualHost *:80>
        ServerName example.com
        Redirect 301 / http://username.github.io/
</VirtualHost>

Nginx

server {
    server_name example.com;
    return 301 http://username.github.io/;
}

以上假设 www => username.github.io 的 CNAME 和裸域的 A 记录 => 我的具有上述配置的服务器之一。

domain-name-system
  • 1 个回答
  • 995 Views
Martin Hope
Tom Brossman
Asked: 2013-12-21 00:42:56 +0800 CST

为什么 Nginx 接受根域之后的任何 URL 值?

  • 2

第一次设置 Nginx,我的目标是让 example.com 带有一个静态“index.html”页面,并提供极简配置,仅此而已。我也想删除 www 子域。这是我的站点可用服务器块:

server {
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

server {
    server_name example.com;
    root /var/www/example.com/;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ /index.html;
    }
}

如果我使用 www.example.com 或 example.com,它们可以正常工作,www 会自动删除。

我的问题是我可以在 example.com 之后键入任何内容,并且 index.html 页面仍然加载,例如 example.com/ABC 或 example.com/12345。这些页面不存在,为什么 URL 被接受?我希望域根以外的任何 URL 都返回 404 页面。

这可能是一个非常简单的问题,但我已经尝试在此处和文档中进行搜索,但到目前为止我一无所获。

nginx
  • 2 个回答
  • 544 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