我刚刚开始使用 CloudFlare“灵活 SSL”,这允许用户在连接到我的服务器时拥有 SSL(当然是通过 CloudFlare)。
\n\n请求的流程如下:
\n\n访客<-- SSL --> CloudFlare <-- 非 SSL -->我的服务器(Nginx w/pagespeed)
\n\n当 Nginx 重写我的资源(css、js、jpegs 等)时,问题就出现了,nginx 总是收到来自 CloudFlare 的 http 请求,所以显然 Nginx 将资源返回为 http(在 html 中),当用户尝试加载它们时,他们会得到浏览器上有一个丑陋的图标,警告不安全的内容,或者根本不加载不安全的内容,从而完全破坏页面。
\n\n这些是我当前正在使用的过滤器:pagespeed EnableFilters move_css_above_scripts,move_css_to_head,rewrite_style_attributes,combine_javascript,insert_image_dimensions,collapse_whitespace,sprite_images,ins\xe2\x80\x8c\xe2\x80\x8bert_dns_prefetch;
那么如何让 nginx pagespeed 以 https 形式返回资源呢?当请求是http时,如何作为非https?
\n\n谢谢。
\n我有一个使用新创建的 Express 应用程序express appName
。我已将端口更改为 443。该域位于启用了 SSL 的 CloudFlare 代理下。不过,当我访问该网站时,我看到的是 CloudFlare 页面,Web server is down
而不是看到快速索引页面。
如何使 Express 与 CloudFlare 的 SSL 配合使用?
在我的实时网站上,我在 CloudFlare 设置下进行了电子邮件混淆。现在在我的网站上,我看不到任何电子邮件,只是显示重定向到 CloudFlare 消息的 [email protected] 链接。此外,并非所有电子邮件地址都会发生这种情况(请参阅图片)。
所以我在 github 页面上设置了一个自定义域,一天前在 namecheap 上没有问题。然后我尝试通过 github 新添加的对页面上 https 的支持切换到 Https。在经历了太多的挫折之后,我切换到 CloudFlare for Https,但我现在收到一个错误ERR_TOO_MANY_REDIRECTS
这是我在 CloudFlare 上的 DNS 设置。
我们正在寻求加速我们的网站。更具体地说,我们希望降低 TTFB。我们的网站主要由根据 url 路径(提取主题)和 url 路径中的参数动态生成的页面组成。这些条目被放入一个 sql 查询中,该查询从我们使用 php 执行的数据库中提取所有正确的数据。
这是问题:
这些查询可以完美地生成页面以及与它们相关的所有信息(例如标签)。但是,每次访问者访问页面时都重新运行代码会花费大量时间,从而导致 TTFB/服务器响应时间过长。本质上,这些页面只需要每月使用 sql 查询更新一次。在这两者之间,应该可以将它们作为预加载/预生成的静态 HTML 页面提供(直到我们指示刷新)。我们目前正在使用 Cloudflare 作为 CDN,它已经在加速网站方面发挥了巨大的作用。现在,即使我们打开了“缓存所有内容”的页面规则,我们仍然可以看到它重新运行了包括 sql 查询在内的 php 代码。
问题:
有人知道实现缓存网站动态部分这一目标的好方法吗?是通过 Cloudflare 还是通过其他方式?我知道 Akamai 提供这项服务,但显然,将网站切换到另一个 CDN 会产生一些转换成本,我们对 Cloudflare 相当满意。
提前致谢!
我收到 400 错误请求错误。有时有效,有时无效。在电话上,它似乎更有效。我不确定这笔交易是什么,但这很令人恼火。
server {
listen 80;
listen [::]:80;
server_name url url;
return 301 https://$host$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name url url;
ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
ssl_verify_client on;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Run Code Online (Sandbox Code Playgroud) 我在朋友的网站上遇到了这个问题。这是一个带有多个插件的 Wordpress 安装。其中一个插件用于更新多个图像(从远程位置收集它们并将它们存储在本地以节省带宽)。但是在运行插件时,该网站似乎拒绝显示更新的图像并不断给我旧版本,这些旧版本肯定不再存在于服务器上。
浏览器缓存被迅速排除为原因。Wordpress 可能有点棘手,所以我检查了所有其他插件、插件以及是否有任何形式的对象缓存处于活动状态。在排除了这一点之后,我发现托管服务提供商一定是问题所在。我不知道并且不得不发现他们使用 Cloudflare 作为 DNS 提供商来为其网站提供有效的 SSL 证书。然而,默认情况下 Cloudflare 还带有缓存,这可能非常激进。
由于他们喜欢缓存并希望保持打开状态,我告诉我的朋友在 Cloudflare 手动清除缓存。Ta-Da - 更新后的图像显示正常。
因此,为了避免每次调用插件时都登录 Cloudflare 的过程,我正在寻找一种使用他们的 API 以方便的方式解决此问题的方法。我需要一些 php 代码(以集成到 Wordpress 插件中)...
我正在尝试使用 cloudflare Worker 根据请求的 IP 动态设置源(这样我们就可以在内部提供网站的测试版本)
我有这个
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
if (request.headers.get("cf-connecting-ip") == '185.X.X.X')
{
console.log('internal request change origin');
}
const response = await fetch(request)
console.log('Got response', response)
return response
}
Run Code Online (Sandbox Code Playgroud)
我不知道要设置什么。请求对象似乎没有任何合适的参数可以更改。
谢谢
我正在努力保护我的网站,但有人不断发布我网站的原始 IP。我发现这个网站正在暴露它:http://www.crimeflare.org:82 /cfs.html 经过一些额外的研究,我发现这个网站已经上线了几年,但没有关于它是如何的信息制作或使用什么技术。有谁知道这个网站如何获取直连IP地址吗?提前致谢。
尝试在 Google 应用引擎上启用自动更新 SSL,但 Google 表示找不到 DNS 记录。
我已将它们添加到子域中,尝试执行所有 A 和 AAAA 记录或仅 CNAME 记录(因为 cloudflare 不允许同一子域上的 CNAME 和 A,AAAA),但谷歌找不到 DNS 记录(即使在等待 24 小时后) 。
cloudflare ×10
ssl ×3
nginx ×2
node.js ×2
caching ×1
certificate ×1
dns ×1
express ×1
github-pages ×1
https ×1
json ×1
pagespeed ×1
php ×1
security ×1
sql-server ×1
wordpress ×1