回答
收藏
分享
举报
怎么查看nginx生效的参数
提问于2020-08-27 15:24

浏览 5.2k

怎么查看nginx生效的参数
比如client_max_body_size 10g,配置文件里写了就一定生效么,能不能获取当前nginx当前的参数呢

已修改于2023-03-17 16:48



写下您的回答
发表回答
全部回答(3)

按点赞数排序

按时间排序

到底是对所有请求生效,还是只对某个域名下的请求,亦或者是某类URL下的请求生效呢?这很难定义,也难以展示。Nginx可以检测到非法的配置,但这个配置的生效范围非常复杂,通常需要基于规则、经验判断,以及自己构造请求来验证(只需要将Content-Length头部设到10GB以上,不用真的传输这么大的文件)

赞同

3

回复举报

回答于2020-08-28 17:45



回复陶辉
回复

可以使用 Nginx -T 打印当前NGINX配置。

附常见命令:

 1. Nginx -v    查看nginx的版本

  2. Nginx -t    检查配置文件nginx.conf的正确性命令(-t

  3. Nginx -T    可以打印当前 NGINX 配置

  4. Nginx -s reopen  重启Nginx

  5. nginx -s reload  重新加载Nginx配置文件,然后以优雅的方式重启Nginx

  6. nginx -s stop    强制停止Nginx服务

  7. nginx -s quit    优雅地停止Nginx服务(即处理完所有请求后再停止服务)

赞同

1

回复举报

回答于2020-09-10 16:21



回复守望
回复

学到了

0

回复举报

回答于2021-07-23 09:01



回复阿拉灯神丁
回复
92hackers回复了

nginx -T 打印的是当前的 Nginx 配置文件。

问题中希望的应该是如何确认配置文件中的配置项已经生效。类似于自举 的那种机制。

0

回复举报

回答于2021-09-05 08:00



回复92hackers
回复

学到了

0

回复举报

回答于2022-11-23 12:32



回复阿邱1
回复

Nginx 目前应该 还没有 提供一种方式来查看通过配置文件已经生效的参数。


因为当你配置出错的时候,Nginx 解析配置文件会报错,所以如果解析没有报错,说明你的配置应该是生效的,Nginx 应该能够保证这一点。


实在不放心,可以构造一个请求来测试一下。

赞同

0

回复举报

回答于2021-09-05 16:10



回复92hackers
回复
提问者
朋友
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

nginx-1.12.1,nginx-1.22.0 没复现这个问题。windows 是用的哪个版本? nginx 是哪个版本? 试下用administrator 权限。换台机器试试。

点赞 0
浏览 1.9k

关于quic http3服务,首先需要明白以下几点:
1. 关于证书,证书跟具体的http协议无关,如果http2 同样证书可以成功访问,而http3服务不可以,应该排除证书问题
2. 关于域名,同样的局域网,不管是http2还是http3服务 ,域名都是一样的,不一样的只是协议类型和端口号,http2是基于tcp,http基于quic,quic又基于udp,协议类型的话是浏览器客户端主动的行为,端口也是可以可指定,如果http2服务可以通过域名访问成功,说明跟域名没有关系,可以排除域名问题
3. 有一点需要注意,目前常见浏览器已经支持http3,不过访问服务的时候,都首先会通过http1或者http2去访问服务,这就要求服务端同事需要有tcp 的端口提供服务,然后response 带有Alt-Svc 'quic=":443"; h3=":443" 类似header,告诉浏览器服务端支持http3, 然后浏览器才会通过quic发送udp包去访问服务端的udp server端口,访问服务
4. 基于上述1和2这两点,证书和域名问题都可以排除,而您仿照此前的配置文件,但是访问主页却显示http1协议连接。关于这个问题,就可以参考第3点,浏览器先是http1访问,在这一处,您可在浏览器通过f12看到请求的返回信息,看response 处是否有Alt-Svc 'quic=":443"; h3=":443" 类似header, 如果没有该header ,请检查server端tcp 服务的配置;如果有说明您部署的服务tcp端口提供了服务,而且说明证书和域名都是没有问题的,这时候您重新点击浏览器访问服务,通过浏览器或者wireshark抓包工具查看浏览器是否发送了udp的包去请求server,按照您在云环境可以成功访问,说明浏览器是没问题的,应该肯定会发送udp请求报文,这时候您要看局域网内部去抓包udp端口上的报文,确认是否收到来自于浏览器的udp报文,如果没有,可能是局域网服务器屏蔽掉了该端口的报文,请检查局域网服务器的防火墙等配置;如果能够抓到该报文,您需要查看nginx的log文件了,这时候可以看到quic相关日志,如果有错误,可以看到原因

点赞 0
浏览 1k