【问题标题】:Deliver a 503 Service Unavailable at specific times在特定时间提供 503 服务不可用
【发布时间】:2013-07-18 19:24:37
【问题描述】:

如何将 nginx 配置为每天凌晨 3 点到凌晨 4 点提供“503 服务不可用”?

【问题讨论】:

    标签: nginx


    【解决方案1】:

    然而,只检查维护标志要简单得多。

    location / {
        if( -f $document_root/maintenance.flag ) {
            return 503;
        }
    }
    

    现在,当您进行维护时,我认为这是由 cron 运行的,您创建文件并在完成后自行清理。它还有一个额外的优势,即您也可以为计划外维护创建该文件。

    【讨论】:

      【解决方案2】:

      SSI Module 有一个名为 $date_gmt 的变量,您可以从中抽出时间。一些带有该变量的 if 语句可能会有所帮助。

      或者,您可以通过在 HTTPLuModule 中编译来在 Lua 中编写一些东西。 Lua 将为您在 Nginx 中做更复杂的事情提供更多的灵活性。缺点是您必须在其中编译模块。

      我还没有测试过这段代码,但类似的东西可能帮助你开始。

      location ~ / {
          set_by_lua $between_three_and_four '
              local time = os.date("*t")
              local between_three_and_four = false
      
              if time.hour == 3 then
                  between_three_and_four = true
              end
      
              return between_three_and_four
          '
      
          if ($between_three_and_four) {
              return 503;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-18
        • 1970-01-01
        • 2015-01-14
        • 2016-07-29
        相关资源
        最近更新 更多