我有一个Cloudflare / Nginx(v1.8.0)/ Apache服务器configuration与大量的caching。 目标是caching主域,但允许通过所有caching绕过的子域访问站点。 所以,我正在寻找一种将“ https://www.domain.tld/target ”redirect到“ https://nocache.domain.tld/destination ”的通用方式 与request_uri的简单位置匹配对于非www域变体已经足够了,但是如果请求通过www子域进入,就像许多网站一样,那么它会redirect到nocache.www.domain.tld存在。 我尝试了各种不同的方法来删除“www”。 子string,但似乎没有工作。 编辑 这是我的非工作Nginx的服务器configuration: server { listen 80 default_server; server_name localhost; set $PROXY_DOMAIN_OR_IP $host; if ( $request ~* ".*(www\.)(.*)\/target" ) { set $host_without_www $2; return 302 $scheme://nocache.${host_without_www}\/destination; }
我在S3上有一个静态网站,而cloudflare作为我的DNS提供商。 服务器日志收集在S3存储桶中。 但是,日志文件中的访问者IP地址指向了cloudflare服务器,而不是真正的访问者IP。 我知道如何使用EC2上的LAMP / LEMP堆栈,使用real_ip_header恢复原始访客IP。 文章 我怎样才能做到这一点(即恢复原来的访客IP)与S3 + cloudflare。 有没有一个桶政策,让我映射自定义标题(如CF连接IP)访客IP或我可以定制日志格式,以包括这个头?
最近,我们公司将一些networking服务器迁移到Google云端平台(计算引擎)。 我们已经看到平均0.4秒的网页加载时间改善(加载时间减less)! 但是既然我们有我们认为是非常重要的网站,我们希望在各方面都做得更好。 我们负担不起任何停机时间。 我们觉得GCP有很好的声誉,即使经过2个月的监控,我们的网站也有100%的正常运行时间。 但是由于种种因素,我们有些人想进一步推进,基本上在东部地区和西部地区创build两个虚拟机实例,然后使用负载均衡器根据自己的地理位置路由stream量低延迟。 在这一点上,我应该提到我们也使用Cloudflare代理,安全和CDN的目的。 所以我们想知道我们应该使用GCP负载均衡器还是使用Cloudflare负载均衡器。 我们的networking服务器stream量低,出口/入口/带宽转移的成本不是一个大问题。 我们写信给Cloudflare支持试图让他们比较他们的负载均衡器与GCP的,这是他们写回: 我对Google Cloud的负载均衡scheme并不熟悉,以及您如何确定分发请求的位置。 对于Cloudflare地址,GeoIP信息往往是不正确的,但是如果你正在做类似基于延迟或者任播的路由,它应该可以正常工作。 我无法从文档的简要概述中确定您使用的是什么,所以我会与他们核对一下,看看您是否可以提供有关该路由的工作原理。 如果您的路由在源IP不能保证提供正确的GeoIP信息的情况下正常工作,则它应该正常工作,而不使用我们的地理分布function/可能仅使用您的负载平衡。 我不太确定该怎么做! 无论如何,是的,我知道我们正在做一个“小山”,因为我们有一个低stream量的网站,并准备加倍我们的成本(或更多),以获得我们可能不需要的“高可用性”。 但是,由于我们的业务模式以及GCP和Cloudflare相对较低的成本,我们希望尽一切合理的方式来: 确保网站的正常运行时间尽可能接近100% 减less来自北美各地的网站访问者的延迟 增加冗余,以便单个虚拟机实例的丢失不会导致整个Web服务器。 由于我们的商业模式,我们对网站stream量的价值非常高,所以虽然我们并没有“旋转数千个集群”,并为我们和我们的客户做出了一些很棒的项目,但这对我们来说是非常重要的。 因此,我非常感谢您对使用GCP负载平衡器与在Cloudflare中启用负载平衡方面的意见(和事实)。 我们已经在使用GCP和Cloudflare,所以进入壁垒已经消失(新账户,账单等) 哪个负载均衡器会有最好的性能? Cloudflare的客户支持是什么意思(在上面引用他们的答复摘录? 如果我们对所有事情都使用GCP,那么会出现问题吗(使用Cloudflare时,他们的负载平衡器是单点故障吗?) 哪个Load Balancer更容易configuration? (我已经预览了Cloudflare的configuration,对我来说看起来很简单,而GCP可能会更复杂一些,但我不是networking架构师,所以这是我的个人感觉。 非常感谢你,祝你有美好的一天!
http://appleseedhq.net/是一个GitHub页面网站托pipe在https://appleseedhq.github.io/ 。 我正在关注Cloudflare的教程,在https://appleseedhq.net/上启用HTTPS: https://blog.cloudflare.com/secure-and-fast-github-pages-with-cloudflare/ 我已经严格遵守并仔细检查了所有步骤,但目前该网站似乎使用了无效的证书,Firefox等浏览器发出警告: 这是我们的Cloudflare设置: encryption: DNS: 名称服务器: 在这一点上,我没有想法。 难道这只是设置需要传播? 根据以往的经验,我从来不用等上几分钟。 在这种情况下已经过去了几个小时。 我怀疑我犯了一个简单的错误。 编辑:它似乎正在为一些其他人正常工作。 这可能是一些caching在我身边? 我试过刷新Windows和我的浏览器的DNScaching,但没有效果。
[Linux – CentOS – Apache 2.2 – mod_cloudflare – apxs2] 我已经改变了我的名字服务器指向CloudFlare。 问题是所有的IP地址都是以CloudFlare的forms出现的。 这是不好的,因为我必须监视和阻止一些特定的stream量。 mod_cloudflare应该解决这个,但我一直无法得到这个安装。 文档中的命令使用apxs2。 我不知道如何安装这个,或者如果它只是意味着'阿帕奇2.4'。 我正在运行2.2.3,我可以使用'apxs'。 当我运行: apxs -aic mod_cloudflare.c 我得到错误 apxs:Error: Command failed with rc=65536 这是否意味着我需要apxs2或其他东西? 我如何让mod_cloudflare在我的服务器上工作? 我感谢任何帮助,文件是模糊和有限的。
首先,我不是那样的DNS,所以也许这个问题的答案是非常明显的,不pipe怎么说都不好意思。 我想要的是:这是一个DNSlogging,它捕获我的网站上的所有不存在的子域,并将它们链接到我的网站的外部地址。 所以,不是我的内部IP地址,而是我的外部主机名。 我正在使用CloudFlare,并希望通过将其设置在CloudFlare后面向公众隐藏我的服务器IP。 在做ping的时候带上CloudFlare的IP。 例子: www.example.com -> www.example.com existing-subdomain.example.com -> existing-subdomain.example.com non-existing-sub.example.com -> www.example.com (and NOT the internal IP) 那么当有人试图用tracert或http://www.hcidata.info/host2ip.cgi获取IP时,他们就不会看到我的IP。 它不一定要连接到我的主页,如果没有办法通过这些不存在的子域名来查看我的服务器IP,我将非常高兴。
我使用php-fpm和nginx,我正在运行一个缓慢的脚本,但是它阻止了所有的Cloudflare连接,很可能是一个php-fpm的问题,但我无法通过Googlefind任何东西。 如果我运行php脚本(sleep(10)),它将阻塞所有其他页面,直到脚本完成。 但是,我直接访问服务器,我不知道这个问题。 有任何想法吗? php-fpmconfiguration: pm = dynamic pm.max_children = 50000 pm.start_servers = 120 pm.min_spare_servers = 90 pm.max_spare_servers = 180 pm.max_requests = 5000 request_slowlog_timeout = 60s slowlog = /var/log/php-fpm/www-slow.log catch_workers_output = yes nginxconfiguration: user nginx; worker_processes 12; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 19000; } worker_rlimit_nofile 20000; http { include /etc/nginx/mime.types; default_type application/octet-stream; […]
我有一个运行Ruby on Rails项目的瘦服务器的Nginx设置。 Nginx目前是我的SSL的端点。 我最近在web服务器上遇到了一些攻击问题,所以我决定添加CloudFlare。 它目前使用cloudflare中的“严格SSL”(客户端-CF链接和CF-web服务器链接中的ssl)。 现在,浏览我的网站时,但是当我使用Oauth的Facebook,G +等。redirect链接显示为: https://example.com:80/destination/url : https://example.com:80/destination/url :80/ destination/url(注意:80 )。 当我不使用CloudFlare时不会发生这种情况。 我能做些什么来解决这个问题? 这是CloudFlare或Nginx的问题吗? 我发现这个post ,但我不能逆向工程它nginx。 我目前的nginx-setup: server { listen 80 default; server_name .example.com; ## redirect http to https ## return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name .example.com; client_max_body_size 20M; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; ssl_certificate […]
我想在Apache中的某个VirtualHost上只使用HTTP 1.0。 这样做的原因是我使用CloudFlare,而我的应用程序需要HTTP响应中的Content-Length标头。 但是,如果使用HTTP 1.0作为协议,则CloudFlare仅转发Content-Length标头(请参阅此支持标签: https : //support.cloudflare.com/hc/en-us/requests/527063 )。 我的问题是如何轻松地在Apache中设置一个VirtualHost来完成这个任务(强制使用HTTP 1.0作为协议)? 我是否在站点可用的configuration文件中使用SetEnv之类的东西? 或者,也许我使用HTTP 1.1协议,但发送HTTP 1.0作为头中的协议? 谢谢。
我有一些关于Nginxconfiguration和通配符子域的问题,以及自定义域如何进入图片。 这是我的情况。 假设我拥有这个网站awesome.com 。 当用户注册我的网站时,他们会自动获得一个子域名。 所以用户史蒂夫可以通过steve.awesome.com导航到他的主页。 要做到这一点,请创build一个通配符子域CNAMElogging。 在内部,我希望应用程序将其视为awesome.com/users/steve 。 查看这篇文章后 ,我相信我应该能够重写路由到我想要的结果,而不必实际更改URL在浏览器中显示的内容。 现在,我想让史蒂夫build立自己的自定义域名。 假设Steve拥有域名iamsteve.com 。 史蒂夫然后可以指出他的域名,他的子域名steve.awesome.com 。 我的主要问题是,当向iamsteve.com发出请求时,我的Nginx服务器会以steve.awesome.com接收请求,从而允许重写逻辑仍然正常工作? 或者它会实际收到请求作为iamsteve.com ?