该插件尚未通过WordPress的最新3个主要版本进行测试。 当与较新版本的WordPress一起使用时,可能不再受到维护或支持,并且可能会存在兼容性问题。

C3 Cloudfront Cache Controller

描述

这是个简单的插件,在您发布文章时清除所有的CloudFront缓存。
您可以容易的在WordPress前面使用CloudFront。

Fixtures

  • wp_is_mobile()
    Check device viewer type by CloudFront header.
    Now supports HTTP_CLOUDFRONT_IS_MOBILE_VIEWER and HTTP_CLOUDFRONT_IS_TABLET_VIEWER.

  • preview url
    In preview page, plugin add post_date query to avoid CloudFront cache.
    And set wordpress_loginuser_last_visit cookie for avoid CloudFront cache too.

The wordpress_loginuser_last_visit cookie will be removed if user sign out.

Invalidation(Clear Cache) Page URL

This plugin send following page url to CloudFront Invalidation API.

  • TOP page URL
  • Published Post Page URL
  • Category Archive Page URL

AWS IAM Policy Example

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudfront:GetDistribution",
                "cloudfront:ListInvalidations",
                "cloudfront:GetStreamingDistribution",
                "cloudfront:GetDistributionConfig",
                "cloudfront:GetInvalidation",
                "cloudfront:CreateInvalidation"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Adding your configuration through env vars

The plugin can be configured by defining the following variables:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • C3_DISTRIBUTION_ID

You can put these variables like the code into the wp-config.php

php
define( 'AWS_ACCESS_KEY_ID', '' );
define( 'AWS_SECRET_ACCESS_KEY', '' );
define( 'C3_DISTRIBUTION_ID', '' );

Cookie

This plugin set a Cookie named wordpress_loginuser_last_visit to the user.
It prevents CDN caching when the user is previewing his posts or contents.
Once logging out from Dashboard, plugin removes this cookie from user.

6.1.5

  • [Fix] Changed to install the AWS SDK using composer instead of aws.phar.

6.1.4

  • [Update] Support post_type_archive_link

6.1.3

  • [Fix] Lost filter c3_invalidation_items From v6.0.0

6.1.2

  • [Fix] php version compare issue

6.1.1

  • [Fix] Plugin deactivation issue

6.1.0

  • [Update] Flush cache by post_ids

6.0.0

  • [Breaking Change] Re-write entire code
  • [Update] Add c3_log_cron_invalidation_task filter to show cron job Logs
  • [Update] Add c3_aws_sdk_path filter to change or remove bundled AWS SDK path

5.5.1

  • [Update] Replace the top level menu with a Settings submenu

5.5.0

  • [Update] Can use defined variables for AWS Credentials

5.4.2

  • [Bug fix] Set cookie path in preview page

5.4.1

  • [Bug fix] Undefined Paths index in invalidation query cron event

5.4.0

  • [Update] Update preview fix plugin

5.3.4

  • [Bug fix] Small bug fix

5.3.3

  • [Change SDK] replace sdk

5.3.2

  • [Bug fix] Use EC2 role if using as AMIMOTO Managed hosting

5.3.1

  • [Add filter] Can select AWS SDK version by filter

5.3.0

  • [Update SDK] Use AWS SDK v3 when you using php 5.6 or later

5.2.1

  • [For AMIMOTO Managed] bug fix to run by WP-CLI

5.2.0

  • [Add filter] We can disable to register wp-cron that retry request invalidation.
  • [Readme] Update readme to see IAM Policy example.

5.1.0

  • [Update preview fixture] Set cookie to avoid CloudFront cache if user sign in
  • [Update preview fixture] Unset cookie for avoide CloudFront cache if user sign out

5.0.0

  • Support CloudFront viewer params on wp_is_mobile().(4.9.0 or later)

4.4.0

  • Fix small bug
  • Add some feature for AMIMOTO Managed hosting user

4.3.1

  • Fix cron interval
  • add filters 'c3_invalidation_interval, c3_invalidation_cron_interval, c3_invalidation_item_limits.
  • update default invalidation interval & items.

4.3.0

  • Schedule cron event if you published many post at the same time

4.2.1

  • Fix ‘c3_credential’ filter position

4.2.0

  • Support AMIMOT Dashboard

4.1.0

  • Show Invalidation Logs

4.0.3

  • Auto Deploy by Travis

4.0.2

  • Add WP-CLI param check ( wp c3 flush)
  • change transient_key

4.0.1

  • Bug fix ( conflict Nephila Clavata )

4.0.0

  • Support AWS SDK Version3
  • Remove action hook -> ‘c3_add_setting_before’
    use ‘c3_after_title’ filter hook instead.
  • Remove action hook -> ‘c3_add_setting_after’
    use ‘c3_after_auth_form’ filter hook instead.

3.0.0

  • Include CF Preview Fix plugin
  • Rename

2.4.3

  • Fix Catch Exception BUG

2.4.2

  • Fix CLI BUG

2.4.1

  • Fix CLI BUG

2.4.0

  • Add WP-CLI Command ( Update Settings )

2.3.0

  • Add WP-CLI Command

2.2.2

  • Force Invalidation

2.2.1

  • Fix Typo

2.2.0

  • Add Filter for using EC2 Instance Role.
  • Translationable in t.w.org

2.1.1

  • Fix too many invalidation url error.

2.1.0

  • Add hook to customize invalidation URL
  • support new invalidation url, terms.
  • Manualy invalidation button added

2.0.2

  • 更改AWS SDK
  • wokamoto的代码重构工程
  • 无效的URL

2.0.1

  • 更改AWS SDK
  • wokamoto的代码重构工程
  • 无效的URL

1.0

  • 初始发布。

6.1.0

  • [Fix] Plugin deactivation issue

安装

  1. 通过WordPress的“插件”菜单激活插件
  2. Create IAM user to attach valid IAM Policy for AWS CloudFront
  3. Configure the plugin settings from wp-admin

常见问题

此插件会什么时候发送发效请求?

发布文章时,此插件向CloudFront发送无效请求。

Can we select AWS SDK version ?

You can select AWS SDK version to add a plugin like …

<?php
/*
 * Plugin Name: Should use AWS SDK v2
 * Version: 0.0.1
 * Plugin URI:https://github.com/amimoto-ami/c3-cloudfront-clear-cache
 * Description: To use aws sdk v2 for C3 Cloudfront Cache Controller
 * Author: hideokamoto
 * Author URI: https://wp-kyoto.net/
 */
add_filter( 'c3_select_aws_sdk', function() {
    return true;
} );

评价

2022 年 1 月 15 日
Do not be fooled by small number of reviews. This plugin works super well and even works with the instance profile (no need to supply access/secret keys). It is simple and does the job as advertised, excellent work! Thanks from saving me a ton of time to write my own plugin like that.
2018 年 7 月 30 日
Works well and very easy to get going. Occasionally disabled itself when used with other plugins e.g. backupbuddy. Would be nice to store AWS credentials in wp-config.php too. Otherwise excellent. Thank you.
2017 年 9 月 8 日
Tried a couple of others until I found this amazing simple plugin ! But After I enter the credentials there should be some screen... I see a blank page :/ But It works!!!
阅读所有3条评价

贡献者及开发者

“C3 Cloudfront Cache Controller” 是开源软件。 以下人员对此插件做出了贡献。

贡献者

「C3 Cloudfront Cache Controller」插件已被翻译至 1 种本地化语言。 感谢所有译者为本插件所做的贡献。

将“C3 Cloudfront Cache Controller”翻译成您的语言。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志