0

这是我的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 配置有什么问题?

4

1 回答 1

0

阅读man页面nghttpx我们看到该--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),看看这是否有助于解决您遇到的错误。

于 2017-11-28T07:20:47.147 回答