Nginx Status监控
发表于|更新于|基础运维
|浏览量:
1 | server { |
这个时候请求,返回
1 | curl localhost:8080/nginx_status |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-04-29
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-04-29
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-08-13
在Kubernetes集群中部署多个Nginx Ingress Controller
为什么要在集群中部署两个 Nginx Ingress Controller? 因为公司的入口目前是在一个 Ingress 上, 公网域名也解析到了这个 Ingress Controller 上面,不过有些内网的服务,我们并不想让它暴露在外,那么可以再部署一个内网使用的 Ingress Controller。 官方介绍地址:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ 我准备将这两个 ingressclass 放在两个 namespace 里面。 先抽出 clusterrole 和 clusterrolebinding因为可以使用一个 clusterrole,没必要每个 ingress controller 都创建 clusterrole 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667...
2025-01-09
阿里云ACK中Nginx ingress使用CLB上的Https证书
背景: 我们在客户那里部署了一套服务, 服务运行在客户提供的 ACK 集群, 我们删除了客户 ACK 自带的 nginx ingress, 通过自建的方式部署了两套 ingress, 一套绑定了公网 四层 CLB, 一套绑定了内网 四层 CLB, 也就是说是 CLB 转发到 ingress, 然后通过 ingress 转发到其他服务. 现在需要配置 Https 证书, 客户不同意我们配置证书到 ingress, 客户将证书放在了 CLB 上, 给了一个证书 ID 查询阿里云文档阿里云的文档还是很详细, 通过 google 查询到文档地址: 通过Annotation配置传统型负载均衡CLB 具体可以查看这里 HTTPS 请求会在 CLB 层解密,然后以 HTTP 请求的形式发送给后端的 Pod。 这个在腾讯云的四层负载均衡里叫 TCP SSL 监听器。 配置 LoadBalancer 类型的 Service因为我们的 CLB 是只给 ingress 使用, 所以修改 ingress 的 Service 配置 yaml: 1234567891011121314151617181...
2026-04-29
利用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-04-29
前后端跨域问题
啥是跨域跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。 跨源 HTTP 请求的一个例子:运行在 https://domain-a.com 的 JavaScript 代码使用 XMLHttpRequest 来发起一个到 https://domain-b.com/data.json 的请求。 出于安全性,浏览器限制脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest 和 Fetch API 遵循同源策略。这意味着使用这些 API 的 Web 应用程序只能从加载应用程序的同一个域请求 HTTP 资源,除非响应报文包含了正确 CORS 响应头。 为什么会跨域说到跨域不得不谈的就是浏览器的同源策略,跨域也是因为浏览器这个机制引起的,这个机...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:
