時間條件

OpenResty Edge 提供了 2 種型別的時間條件:

  • 絕對時間:用於表示時間範圍
  • 相對時間:用於表示時間週期

在時間範圍內、不在時間範圍內

  • 變數:時間
  • 運算子:在時間範圍內/不在時間範圍內
  • Value:開始時間及結束時間

示例:

新增 2 條頁面規則:

  • 在時間範圍內,則輸出 “Within”
  • 不在時間範圍內,則輸出 “Not Within”

結果示例:

$ curl http://test.com/ -v
*   Trying 10.0.0.200:80...
* Connected to test.com (10.0.0.200) port 80 (#0)
> GET / HTTP/1.1
> Host: test.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 12 Oct 2022 07:38:31 GMT
< Content-Type: text/plain
< Transfer-Encoding: chunked
< Connection: keep-alive
< Server: openresty+
< Req-ID: 00000080000447e7a7b80006
<
* Connection #0 to host test.com left intact
Within

在時間週期內、不在時間週期內

  • 變數:時間
  • 運算子:在時間週期內/不在時間週期內
  • Value:星期、每天中的開始時間、每天中的結束時間。如:星期一和星期二的 8:00 到 10:00。

示例:

新增 2 條頁面規則:

  • 在時間週期內,則輸出 “Within”
  • 不在時間週期內,則輸出 “Not Within”

結果示例:

$ curl http://test.com/ -v
*   Trying 10.0.0.200:80...
* Connected to test.com (10.0.0.200) port 80 (#0)
> GET / HTTP/1.1
> Host: test.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 12 Oct 2022 07:45:32 GMT
< Content-Type: text/plain
< Transfer-Encoding: chunked
< Connection: keep-alive
< Server: openresty+
< Req-ID: 00000080000447e7b4e00007
<
* Connection #0 to host test.com left intact
Not Within