我的 nghttp2.conf 后端模式有什么问题?
What is wrong with my nghttp2.conf backend pattern?
这是我的 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 配置有什么问题?
阅读 nghttpx
的 man
页,我们看到 --backend
选项支持以下结构:
--backend=(<HOST>,<PORT>|unix:<PATH>)[;[<PATTERN>[:...]][[;<PARAM>]...]
因为您有 backend=127.0.0.0,9901;<PATTERN>
,所以 ;
之后的所有内容都应该是有效的 <PATTERN>
。在进一步阅读手册后,我们看到它说:
Since ";" and ":" are used as delimiter, must not contain these characters. Since ";" has special meaning in shell, the option value must be quoted.
现在,看看你的错误,它说:
shrpx_config.cc:1418 backend: ';' must not be used in pattern
表示您在模式中使用了;
,这是不允许的。这与上面的手册摘录一致。
看来您的问题是您的模式中有太多 ;
个字符。目前是;proto=h2
,应该是proto=h2
。尝试删除多余的 ;
(即它应该显示为 backend=127.0.0.0,9901;proto=h2
),看看这是否有助于解决您遇到的错误。
这是我的 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 配置有什么问题?
阅读 nghttpx
的 man
页,我们看到 --backend
选项支持以下结构:
--backend=(<HOST>,<PORT>|unix:<PATH>)[;[<PATTERN>[:...]][[;<PARAM>]...]
因为您有 backend=127.0.0.0,9901;<PATTERN>
,所以 ;
之后的所有内容都应该是有效的 <PATTERN>
。在进一步阅读手册后,我们看到它说:
Since ";" and ":" are used as delimiter, must not contain these characters. Since ";" has special meaning in shell, the option value must be quoted.
现在,看看你的错误,它说:
shrpx_config.cc:1418 backend: ';' must not be used in pattern
表示您在模式中使用了;
,这是不允许的。这与上面的手册摘录一致。
看来您的问题是您的模式中有太多 ;
个字符。目前是;proto=h2
,应该是proto=h2
。尝试删除多余的 ;
(即它应该显示为 backend=127.0.0.0,9901;proto=h2
),看看这是否有助于解决您遇到的错误。