Nginx Status监控
发表于|更新于|基础运维
1 | server { |
这个时候请求,返回
1 | curl localhost:8080/nginx_status |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-07-14
Nginx使用module_vts模块来做监控
最近我们想要用 Prometheus 来监控 Nginx 的状态,所以看了一下有个 module 可以支持。项目地址在:https://github.com/vozlt/nginx-module-vts.git 重新编译 Nginx首先执行 nginx -V 查看编译参数,记录一下, 比如 然后需要 Nginx 源码包和当前安装的 Nginx 版本相同 下载 nginx_module_vts 进入 nginx 源码目录 开始编译,编译时增加一条参数 结合上面记录的编译参数,完整的编译参数是: 开始编译 然后将编译好的二进制文件替换现有的 nginx 注:nginx-module-vts 模块从 0.1.17+ 版本之后原生支持 prometheus 数据格式,可跳过 nginx-vts-exporter 的安装。 之前没安装过 nginx 的可以直接 make && make install 开启监控 监控接口为:
2025-02-19
nginx反向代理的context path
返回请求 uri在 Nginx 中,可以使用 $request_uri 来表示请求 uri, 配置如下; 这里再使用另一台 nginx 反向代理到这台 nginx 就可以测试请求的 uri 了。 测试 nginx 的反向代理 content path1 结果是 curl localhost/a/b/ –> http://192.168.200.12/a/b/ 2 结果和上面一样,但是只有 /a 开头的才能转发到这里 3 结果和上面一样,但是只有 /a/ 开头的才能转发到这里 4 结果是: 5 结果是: nginx 的 aliasNginx 的 alias 指令可以理解为“路径别名”,它能把用户访问的 URL 路径直接映射到服务器上的另一个真实目录。举个例子: 假设你配置了: 当用户访问 http://你的网站/images/cat.jpg 时,Nginx 会直接去服务器上的 /var/www/my_photos/cat.jpg 找文件,而不会保留 URL 中的 /images/ 路径。 和另一个指令 root 的区别在...
2026-07-14
Nginx反向代理wordpress并启用https
反向代理 wordpress 遇到了问题,nginx 不启用 https,反向代理没问题(wordpress 和 nginx 之间走 http),但是 nginx 启用了 https,页面上的样式就没有了,f12 查看,发现 js 和 css 走的还是 http,所以 404 根本原因:wordpress 代码里没有开启 https,(wordpress 认为自己是被 http 访问的,毕竟 nginx 是通过 http 来访问它的) 修改 wordpress 配置 感觉这种方案最靠谱,谁的债谁来还。。 在 wp-config.php 的 if ( ! defined( ‘ABSPATH’ ) ) 前面添加: 如果是官方 Docker 容器的话强烈建议 Nginx 的 location /里面添加一个头: wordpress 官方 Docker 镜像会检测这个头来判断是否代码里开启 https 原因是在:wp-config.php 里面, 为了开启下面的参数 参考:https://github.com/docker-library/wordpress/...
2026-07-14
使用Nginx反向代理域名
需求如下:研发代码里写死了地址 https://b.com 现在在不想发布新代码的情况下修改地址为 https://a.com 手动增加反向代理的 header先 ping a.com 获取到服务器的 ip 所以临时在 pod 里面新增了 nginx 服务,配置如下,由于是代理 https 服务,还需要配置 ssl 证书,刚好有证书。。。 优化写法nginx 提供了内置变量 $proxy_host,优化写法为: 本地绑定 hosts 测试效果这个时候两个域名访问效果一模一样了.

2026-07-25
在 Nginx 中禁止 IP 直连与域名暴露
说明比如漏洞扫描工具会扫描出这种漏洞(直接访问 https://1.1.1.1 ):SSL Certificate Is About To ExpireSSL Certificate Name Hostname Mismatch只是 Nginx 开放到公网,也并不会直接通过 IP 地址来访问,为了消除这个漏洞影响。 不返回数据可以修改 nginx 的默认站点配置,直接返回 444(444 状态码是 Nginx 特有的,即直接关闭链接) 这是一个最简单的配置,配置完成后,浏览器访问效果: 虽然不返回数据了,但是还是会泄露证书信息。 禁止发送证书加上配置:ssl_reject_handshake on IP 地址直接访问的效果,不但被禁止打开。而且浏览器里看不到证书信息。 访问正常的域名正常:
2026-02-21
ingress-nginx 去除指定context path
比如我想去掉 url 中的 /a 方法一、使用 Nginx 配置片段 但是这种方式需要修改 ingress nginx 开启支持 nginx 配置的功能,详情见 ingress-nginx 使用自定义的nginx配置 方法二、使用 ingress nginx 原生配置需要去除 context path 的路径,创建专门的 ingress,比如:
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群:

