Nginx Status监控
发表于|更新于|基础运维
|浏览量:
1 | server { |
这个时候请求,返回
1 | curl localhost:8080/nginx_status |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-06-08
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...
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-06-08
利用Nginx的rewrite来实现自动跳转
任意链接都跳转到指定页面 需要部署一个服务在 Kubernetes 内, 需要实现通过 ingress 可以访问到, 本来是很简单的事情, 但是由于访问来源的 location 不确定,为了避免报错 404,所以用 Nginx 的 rewrite 来实现 Nginx 配置如下(所有 location 转发到 index.html): 12345678910111213server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html; index index.html index.htm index.nginx-debian.html; location / { rewrite ^(.*) /index.html break; }} 自动跳转 https配置文件如下: 使用 ret...
2026-06-08
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-06-08
Nginx之server_name匹配和listen匹配
nginx 可以通过 listen 的 ip 和端口来匹配请求应该由哪个配置文件来处理,也可以通过 server_name 来匹配,抽空理了理这个匹配的规则和优先级,参考文档: 基于域名的虚拟主机默认是先匹配 listen 的 ip 和端口,匹配到了再检查 server_name,如果没有匹配的 server_name,则由第一个来处理,除非添加 default_server 12345678910111213server { listen 80; server_name example.net; default_type application/json; return 200 '{"server_name":"$server_name", "host": "$host", "server_addr":"$server_addr"}';}server { ...
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...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群: