ingress rewrite 配置文件的结构 + server_name和location这两条指令的配置来匹配要 虚拟主机
1 2 3 | kubernetes.io /ingress .class: nginx nginx.ingress.kubernetes.io /rewrite-target : http: //www .oneway.cn 后面没有分号。 |
参考:https://blog.csdn.net/qingyafan/article/details/82692509
1. rewrite break - url重写后,直接使用当前资源,不再执行location里余下的语句,完成本次请求,地址栏url不变
3. rewrite redirect – 返回302临时重定向,地址栏显示重定向后的url,爬虫不会更新url(curl返回请求页面)
4. rewrite permanent – 返回301永久重定向, 地址栏显示重定向后的url,爬虫更新url (浏览器显示成新的URL)
如果location中rewrite后是对静态资源的请求,不需要再进行其他匹配,一般要使用break或不写,直接使用当前location中的数据源,完成本次请求
3.Nginx等服务器是如何知道一个请求对应的是哪个域名的呢?
答案在于HTTP协议中的Host请求头,其值为我们要访问的域名。这里需要注意的是,在HTTP/1.0中是不支持Host请求头字段的,所以HTTP/1.0是不支持虚拟主机技术的,
而根据rfc2616规范HTTP/1.1协议中客户端发送的请求必须带上Host这个请求头,否则服务器必须返回400 Bad Request响应。
参考:https://segmentfault.com/a/1190000021771733
4. 配置文件形式:
# 每个 server 就是一个虚拟主机
http {
include /etc/nginx/conf.d/*.conf;
# ...
server{
# ...
}
# ...
server{
# ...
}
}
具体配置文件
# Demo upstream web_pro_testin { server 10.42.46.70:6003 max_fails=3 fail_timeout=20s; ip_hash; } server { listen 80; server_name web.pro.testin.cn; location / { proxy_pass http://web_pro_testin; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location ~ ^/(WEB-INF)/ { deny all; } }
参考:一文入魂!彻底巩固你的Nginx知识体系!_牛客博客 (nowcoder.net) https://blog.nowcoder.net/n/2cec4b7c85c84c9abe537319b44eb59d?from=nowcoder_improve
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-03-07 python argparse模块:命令行选项及参数解析