【问题标题】:What is wrong with my nghttp2.conf backend pattern?我的 nghttp2.conf 后端模式有什么问题?
【发布时间】:2018-05-11 13:00:06
【问题描述】:

这是我的nghttpx.conf 文件:

frontend=0.0.0.0,3000
backend=127.0.0.0,9901;;proto=h2
frontend-no-tls=yes
backend-no-tls=yes
workers=1
log-level=INFO

当我这样做时:

sudo nghttpx

抛出此错误:

28/Nov/2017:15:33:30 +0900 PID19518 [ERROR] shrpx_config.cc:1418 backend: ';' must not be used in pattern
28/Nov/2017:15:33:30 +0900 PID19518 [FATAL] shrpx.cc:1714 Failed to load configuration from /etc/nghttpx/nghttpx.conf

我的 nghttpx 配置有什么问题?

【问题讨论】:

    标签: nghttp2


    【解决方案1】:

    阅读nghttpxman页面,我们看到--backend选项支持以下结构:

    --backend=(<HOST>,<PORT>|unix:<PATH>)[;[<PATTERN>[:...]][[;<PARAM>]...]

    既然您有backend=127.0.0.0,9901;<PATTERN>,那么; 后面的所有内容都应该是有效的<PATTERN>。在进一步阅读手册后,我们看到它说:

    因为“;”和“:”用作分隔符,不能包含这些字符。自从 ”;”在shell中有特殊含义,选项值必须加引号。

    现在,看看你的错误,它说:

    shrpx_config.cc:1418 后端:';'不得在模式中使用

    这表明你在一个模式中使用了;,这是不允许的。这与上面的手册摘录一致。

    因此,您的问题似乎是您的模式中有太多 ; 字符。目前是;proto=h2,应该是proto=h2。尝试删除多余的;(即它应该是backend=127.0.0.0,9901;proto=h2),看看这是否有助于解决您遇到的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多