Nginx Status监控
发表于|更新于|基础运维
|浏览量:
1 | server { |
这个时候请求,返回
1 | curl localhost:8080/nginx_status |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-02-27
Nginx使用module_vts模块来做监控
最近我们想要用 Prometheus 来监控 Nginx 的状态,所以看了一下有个 module 可以支持。项目地址在:https://github.com/vozlt/nginx-module-vts.git 重新编译 Nginx首先执行 nginx -V 查看编译参数,记录一下, 比如 1--prefix=/usr/local/nginx --user=www --group=www --with-stream --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.1.1k --with-pcre=../pcre-8.45 --with-pcre-jit --with-ld-o...
2025-11-03
ingress-nginx 使用自定义的nginx配置
新版 ingress 增强了 安全性, 它认为用户自己写的 nginx 配置文件不安全,所以又加了限制。(允许自定义 nginx 配置有一定安全风险,酌情修改!)我的 ingress 版本是: 1.12.2 比如有个需求,Spring Boot 写的程序有个 /actuator 路径,安全审查不通过,如果是个 nginx 可以通过: 123location /actuator { return 404;} 来直接让它返回 404 configmap1234567891011121314apiVersion: v1data: allow-snippet-annotations: "true" annotations-risk-level: Criticalkind: ConfigMapmetadata: labels: app.kubernetes.io/component: controller app.kubernetes.io/instance: public-ingress-nginx app...
2026-02-27
Nginx Ingress 暴露没有定义Host的ingress的Metrics数据
指定默认的 ingress 后端名字有点绕口,假如说之前有个服务是通过 ip:port 来访问 nginx(就是 default server),然后转发到后端服务的,那么转换成 ingress 后,不能指定 host,不然会匹配不到规则。ingress 就不能配置 host,创建出来的 ingress 资源就是这样的: 12345678910111213141516171819apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: annotations: nginx.ingress.kubernetes.io/ssl-redirect: "false" name: g.example.com namespace: defaultspec: rules: - http: paths: - backend: serviceName: server1 servicePort: 5003 path: /sdk ...
2026-02-21
ingress-nginx 去除指定context path
比如我想去掉 url 中的 /a 1234curl test.example.com/a/b/xxx/xxx# 实际请求到后端的路径:/b/xxx/xxx 方法一、使用 Nginx 配置片段123location /a/b/ { proxy_pass http://a.default/b/;} 但是这种方式需要修改 ingress nginx 开启支持 nginx 配置的功能,详情见 ingress-nginx 使用自定义的nginx配置 方法二、使用 ingress nginx 原生配置需要去除 context path 的路径,创建专门的 ingress,比如: 12345678910111213141516171819202122232425262728293031323334353637383940414243kind: IngressapiVersion: networking.k8s.io/v1metadata: name: a namespace: default annotations: nginx.ingress.kuber...
2026-02-27
Nginx配置双向认证
单项认证只需要服务器提供证书即可, 不验证客户端证书, 而双向认证需要验证服务器证书,也需要验证客户端证书, 不满足要求的客户端可以不允许其访问, 并且可以通过后期吊销证书的方式禁止其访问. 证书签名可以参考: 使用certbot自动申请ssl证书 使用acme.sh来自动更新https证书 制作和使用自签名证书 本文提到的 client.crt server.crt 都是通过 ca 签发的 服务器配置Nginx 配置: 1234567891011121314151617server { listen 443 ssl; server_name localhost; ssl_certificate ssl/server.crt; # 配置证书位置 ssl_certificate_key ssl/server.key; # 配置私钥位置 ssl_client_certificate ssl/ca.crt; # 客户端证书 ssl_ve...
2026-02-27
编译安装Nginx记录
通常来说编译不通过都是因为系统环境不满足条件,如缺少包等,本文以 CentOS 7 系统为例,其中有些包如 xxx-devel 在 ubuntu 下一般都是叫做 xxx-dev 的,实在找不到可以使用 apt-file 查找文件属于哪个包。 需要准备好这些包(不用监控可以不用准备 nginx-module-vts): 1234wget https://nginx.org/download/nginx-1.22.0.tar.gzwget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.2.tar.gzwget https://ftp.openssl.org/source/openssl-1.1.1p.tar.gzwget https://ftp.exim.org/pub/pcre/pcre-8.45.tar.gz 全部解压,然后进入 nginx-1.22.0 目录操作 首先运行一遍 configure 命令12345678910111213141516./configure --prefix=/us...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群: