我有 Cloudflare 提供的静态内容。Cloudflare 指向 Amazon S3 以获取静态内容并通过 CNAME (cdn.mydomain.com) 为其提供服务。存储桶设置正确并且一切正常,直到周五我开始在浏览器中收到请求超时。我确认内容仍然可以通过 S3 访问,并使用 Cloudflare 开了一张票。Cloudflare 报告说,“亚马逊确实出现了一些可能阻止来自我们 IP 的请求”,并且他们在日志中看到了以下消息:
upstream timed out (110: Connection timed out) while reading response header from upstream cdn.mydomain.com
upstream prematurely closed connection while reading response header from upstream cdn.mydomain.com
Run Code Online (Sandbox Code Playgroud)
这是我的 CORS 文件中已有的内容。
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
Run Code Online (Sandbox Code Playgroud)
我应该在 AllowedHeader 中放一个 * 吗?我是否需要明确命名 Cloudflare IP 地址?我错过了什么来避免阻塞?
我想知道为什么 Cloulflare 不会缓存某个静态 js 文件。
鉴于要求:
curl -I http://www.testlifeinuk.com/dist/lifeinuk.js
Run Code Online (Sandbox Code Playgroud)
标题返回如下:
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2015 10:59:21 GMT
Content-Type: application/javascript
Connection: keep-alive
Set-Cookie: __cfduid=d11a9f01292153436a211a9d807a3399b1421060361; expires=Tue, 12-Jan-16 10:59:21 GMT; path=/; domain=.testlifeinuk.com; HttpOnly
X-Powered-By: Express
Etag: W/"507660-1420797981000"
Cache-Control: public, max-age=1382400
Last-Modified: Fri, 09 Jan 2015 10:06:21 GMT
Vary: Accept-Encoding
Via: 1.1 vegur
CF-Cache-Status: MISS
Expires: Wed, 28 Jan 2015 10:59:21 GMT
Server: cloudflare-nginx
CF-RAY: 1a78d818b4af0b81-LHR
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,无论我做了多少次请求,它总是返回
CF-Cache-Status: MISS
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
我的应用程序结构使用 GKE 和 CloudFlare。它看起来像这样:
CloudFlare -> GKE -> Ingress -> My app running nginx
我在 CloudFlare 中使用了灵活的 SSL,所以只有用户和 CloudFlare 之间的连接使用 HTTPS,其余的都使用 HTTP。我知道的CloudFlare设置X-Forwarded-Proto
到https
在这种情况下,但是当我看到我的nginx的应用程序正在接收头,它得到X-Forwarded-Proto: http
。
我很确定这发生在 GKE 的负载均衡器和 Ingress 之间,因为我可以看到CF-Visitor: {"scheme": "https"}
CloudFlare 配置的标头设置为 HTTPS。我的理解是,这意味着 CloudFlare 确实设置X-Forwarded-Proto
为https
,但在此过程中它被覆盖了。
不幸的是,我无法从 GKE 负载均衡器获取标头日志(似乎他们根本不记录X-Forwarded-*
标头),所以我无法 100% 确认 CloudFlare 实际上正在设置标头,但我会如果不是,那就太惊讶了。
如果这是真的,Google Cloud 将X-Forwarded-Proto
使用http
. 我怎样才能避免这样做?
编辑:我在https://cloud.google.com/community/tutorials/nginx-ingress-gke 之后配置了 nginx 入口而不是 gce ,并且X-Forwarded-Proto
设置https
为预期。这是另一个信号,表明它gce
是覆盖X-Forwarded-Proto
标头的入口控制器。
从我在 Rackspace Cloudways 附加组件中设置的所有 3 个电子邮件地址发送的电子邮件最终都会成为 GMail 中的垃圾邮件。
当我在 GMail 中“查看原始邮件”时,我看到...
SPF: NEUTRAL with IP 173.203.187.81
DMARC: 'FAIL'
Run Code Online (Sandbox Code Playgroud)
...其中 173.203.187.81 是 Rackspace 的 IP 地址。
我的 DNS 提供商是 CloudFlare。
设置了 DMARC 策略,如下......
_dmarc.boldstatements.com.au v=DMARC1; p=none; ruf=mailto:admin@mydomain.net; rua=mailto:admin@mydomain.net
Run Code Online (Sandbox Code Playgroud)
Cloudways 向我提供了此 DKIM TXT 记录...
20220817-maluhsjy._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0PqtvPuYkElqS+b80iEj4aepAdf6n+CDXRFTG/1Q8RMdw/D6hNmQpv8FCTyIuplZt/qTxBbBFrPLJK5tp7bqkSEG2YpPSnHDCGihaOCsRkJP0aAbnuQRmjHq6H0yCwtJKjRhW7H4pbjx9/LA6dXIaw4N1emtSLWcGejVrhVZ+CwIDAQAB
Run Code Online (Sandbox Code Playgroud)
当我使用 dnschecker.org 和其他一些 DNS 查找工具来查看我的 TXT 记录时,我得到以下奇怪的输出......
\239\187\191v=spf1 a mx include:_spf.elasticemail.com include:emailsrvr.com -all
Run Code Online (Sandbox Code Playgroud)
这些字符\239\187\191
肯定不在 CloudFlare 的 TXT 记录中。
CloudWays' support claims that these characters are causing the DMARC to fail, but since …
CloudFlare 的基本 SSL 包为您的站点提供 SSL 加密,但仅限于您客户的浏览器和 SSL 终止的 CloudFlare 服务器之间。CloudFlare 和您自己的服务器之间的连接不通过 SSL 提供服务。
这有多安全?您不希望使用该系统发送哪些信息?有人窥探您的 CloudFare -> 服务器连接有多容易?
CloudFlare 还提供完整的 SSL 服务,允许您安装自己的证书,并加密整个路由,但价格是其 10 倍。
我一直在尝试从 Cloudflare 设置中配置 Github Pages + Universal SSL,不幸的是,虽然 Jekyll/Github Pages 部分进展顺利,但 DNS 配置并不顺利。
我已经从 Amazon/AWS/Route 53 ( http://oblio360.com )购买了一个域,现在我的情况与这里的情况类似:
更改 Cloudflare 的名称服务器后出现 DNS 错误
我所做的是:
www.whatsmydns.net/#TXT/oblio360.com
=> 世界各地的一些名称服务器将 SOA 视为前 AWS 名称服务器,有些则将其视为 CloudFlare。我应该更新 AWS …
domain-name-system ns-record amazon-web-services cloudflare amazon-route53
我希望将我对 www.example.com 的所有请求重定向到 example.com,以简化分析和营销原因。我无法使用 CloudFlare 找出如何做到这一点(我习惯于在 Namecheap 的重定向记录中这样做)
我在 CloudFlare 后面创建了一个网站,有时我会收到一个提前终止的 (nginx 499) 请求,这在代码库中真的很难解决。
这发生在大约 4000 个请求中的 1 个中。
我想问一下这是正常的还是不正常的?CloudFlare 支持告诉我,当 CF 和服务器之间的某些事情断开连接时,会发生 499。我不在 AWS 上,不在负载均衡器上,而是在具有直接 IP 连接(没有虚拟路由器等)的简单 VPS 上
我正在尝试设置 url https://www.mywebsite.net.au 和https://mywebsite.net.au以使用 Cloudflare 为我的 Azure 应用服务工作。
其中 mywebsite 代表我的网站名称。
目前,当我访问此 url 时,出现 404 错误。
在 Azure 中,在自定义域中,当我尝试为 www.jobtalk.net.au 添加主机名并单击验证时,出现域所有权错误“未找到 CNAME 记录。请添加指向 sbdwebapp.azurewebsites 的 CNAME 记录。网”
如果我尝试为 www 添加一个 CNAME,其值为 sbdwebapp.azurewebsites.net
我收到一条错误消息:
n A, AAAA or CNAME record already exists with that host. (Code: 81053)
Run Code Online (Sandbox Code Playgroud)
我正在尝试关注 https://docs.microsoft.com/en-us/azure/app-service-web/app-service-web-tutorial-custom-domain#cname
我有一个 Amazon S3 存储桶,其中包含数千个 JPG 和类似的媒体资产。(这是我论坛的存储空间。)我没有在这个存储桶中托管静态站点(没有任何类型的 HTML)并且它完全开放供公众阅读(因此论坛软件可以只链接到图像)。
但是,我在 S3 上为带宽付费。有人说我应该把 CloudFlare 放在 S3 存储桶前面,这样会节省很多美元。凉爽的!但我不明白这个过程。CloudFlare 似乎想接管我主站点的所有 DNS,这不是我想要的。
我只需要https://my-bucket.s3.us-east-1.amazonaws.com
被 CloudFlare 缓存/CDN。显然我无法更改亚马逊的 DNS ;-)
我不认为这会很困难,但我似乎无法找到一个相对简单的正确设置方法的解释。(换句话说:我缺乏“大局”/主要步骤。)
(这在 CloudFlare 站点上有所涉及,但我对他们的说明感到困惑,我的用例也与他们谈论的不同。)
cloudflare ×10
amazon-s3 ×2
cdn ×2
azure ×1
cache ×1
cname-record ×1
dmarc ×1
domain ×1
http ×1
ip-blocking ×1
nginx ×1
ns-record ×1
packetloss ×1
spf ×1
ssl ×1
tcp ×1