【问题标题】:Varnish 5.2 started reporting "500 Internal Server Error"Varnish 5.2 开始报告“500 Internal Server Error”
【发布时间】:2018-05-25 07:54:45
【问题描述】:

我已经运行 Varnish 一段时间了,大约 6 个月前,我添加了一个运行良好的 Varnish 5.2 服务器。

几周前,我们开始看到奇怪的“500 内部服务器错误”,在查看较早的报告时,他们认为服务器内存不足。

有一个调整参数的建议(我已经尝试过),但我仍然收到错误关于在哪里查看的任何建议?

艾伦

PS 我看到的建议调整是:

         -p workspace_client=160k \
         -p workspace_backend=160k \

将工作区元素从默认的 64k 增加,我尝试了 128k 和 160k,但报告的偶尔出现的问题没有变化。

【问题讨论】:

    标签: varnish varnish-vcl


    【解决方案1】:

    在玩了很多游戏并查看了清漆日志之后:

    sudo /usr/local/bin/varnishlog -n -q 'RespStatus eq 500'

    我看到了错误:

    -   RespHeader     X-1-SM-None: None
    -   LostHeader     X-1-ServerTXT: Live One
    -   Error          out of workspace (req)
    -   LostHeader     X-1-Cache: MISS
    -   Error          out of workspace (Req)
    -   VCL_return     deliver
    -   Timestamp      Process: 1513078776.040695 0.419343 0.000086
    -   Error          out of workspace (Req)
    -   LostHeader     Accept-Ranges: bytes
    -   LostHeader     Connection: keep-alive
    -   Error          out of workspace (Req)
    -   Error          workspace_client overflow
    -   RespProtocol   HTTP/1.1
    -   RespStatus     500
    -   RespReason     Internal Server Error
    

    意识到 vcl_deliver 中有太多的 resp.http 删除并注释掉其中一些我用于调试的问题消失了。

    【讨论】:

      【解决方案2】:

      您可以通过http_max_hdr 选项控制清漆允许的“HTTP 标头行的最大数量”。默认值为 64,就我而言,将其设置为 128 或 256 解决了我的问题。请注意,由于某种原因,该值需要设置为 2 的幂,因此将其设置为 100 或 150 将不允许 varnish 重新启动。

      https://varnish-cache.org/docs/4.1/reference/varnishd.html#http-max-hdr

      【讨论】:

        猜你喜欢
        • 2022-01-07
        • 2023-03-20
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2015-08-16
        • 2022-12-08
        • 1970-01-01
        • 2015-12-29
        相关资源
        最近更新 更多