有没有办法阻止 Apache localhost Web 开发服务器上的网站访问 Internet?

Jas*_*ant 5 networking firewall apache-http-server wireless-router

我正在使用 Uniserver 进行 PHP Web 开发,我正在运行 Windows 8.1 并在系统上安装了卡巴斯基。

我的大部分工作都涉及在 WordPress 网站上工作。

Wordpress 核心文件以及一些需要 Internet 连接才能工作的 CSS 和 JavaScript 文件(例如 CDN JavaScript 或 Google 字体)。

当 Internet 速度很慢甚至宕机时,我的页面需要很长时间才能加载,因为它们需要等待 Google 字体、CDN 资产等……加载;直到它有时超时。这令人沮丧,因为我需要一次又一次地刷新。

然而,如果我完全关闭互联网——通过断开 WiFi——它会立即加载,因为没有互联网存在,并且页面不会等到超时发生。

通常在开发时我想立即加载页面,即使字体不起作用,并且 CDN 文件回退到本地文件。

但是,我无法关闭 Interent,因为我一直需要 Google。

无论如何——通过防火墙或一些 Apache 配置——来阻止网站的互联网localhost?那么,我的页面在开发时加载得更快吗?

ken*_*orb 8

以下是 Chrome 网络浏览器中需要考虑的设置:

  • 专门为开发创建新的个人资料(新人物)(因此您的设置可以与其他个人资料分开),
  • 在隐私设置和任何其他可能产生不需要的请求的选项(例如预测服务帮助解决导航错误的网络服务等)中禁用预取资源以更快地加载页面

或基本使用Firefox代替,要么脱机工作或减少network.http.connection-timeout的值about:config

以下是对您的 WordPress 网站的建议:

  • 如果可能的话,使用聚合和最小化 JS、CSS 文件,所以你只有一个,而不是几十个请求,
  • 如果您使用远程 JS/CSS 文件,请考虑禁用处理这些文件的临时插件(Google Analytics),在本地重新上传它们或考虑使用本地替代品(例如Google Analytics -> Open Web Analytics),
  • 仔细检查您是否确实没有任何在您的主要环境中工作的丢失请求(例如丢失的图像文件) - 当您丢失图像时,它可能会触发 CMS 代码本身减慢页面加载,
  • 安装 PHP 缓存(例如 XCache)和 memcached 以进一步加速您的开发环境。

考虑使用代理:

  • 使用简单的代理,您可以在其中缩短超时时间(因为可能无法在 Chrome 中配置超时),
  • 使用透明代理,例如squidvarnishd(这将缓存远程文件并足够快地提供本地副本)。

其他建议:

  • 如果您有特定的远程主机会减慢页面加载速度,您可以将它们添加到 中/etc/hosts,例如:

    127.0.0.1 google-analytics.com ssl.google-analytics.com
    
    Run Code Online (Sandbox Code Playgroud)

    这会将它们视为本地对象,而无需更改任何内容。因此,要么提供它们的本地副本,要么超时更快。

  • 配置您的防火墙以拒绝与特定主机的连接。


小智 1

如果我正确理解你的问题,那么你就错了。apache 不下载字体和脚本。网页提供一次,字体和脚本的位置在服务器的响应中指定。由浏览器来获取响应中指定的文件。因此阻止 apache 访问互联网并不是一个解决方案。您必须更改页面的兑现政策。