怎么在Nginx 重定向时获取域名
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,怎么在Nginx 重定向时获取域名?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HTTP 请求跳转到同名的 HTTPS 请求,配置如下:
千家信息网最后更新 2025年12月02日怎么在Nginx 重定向时获取域名
怎么在Nginx 重定向时获取域名?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
HTTP 请求跳转到同名的 HTTPS 请求,配置如下:
http { server { listen 80; server_name sub1.example.com sub2.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl spdy; server_name sub1.example.com sub2.example.com; # ... }}因为 301 是永久重定向,某些浏览器的缓存会记住重定向,下次访问原地址就会直接向新地址发请求,所以这个问题在浏览器里面不一定重现得了(包括 Chrome 的 Incognito Window),能每次完整重现的方式只有 curl 。
$ curl -I http://sub2.example.com/HTTP/1.1 301 Moved PermanentlyServer: nginx/1.9.3 (Ubuntu)Date: Tue, 23 Feb 2016 06:06:30 GMTContent-Type: text/htmlContent-Length: 193Connection: keep-aliveLocation: https://sub1.example.com/
查了一下,发现问题出在 $server_name 变量上。这个变量会始终返回 server_name 中第一个名字。这里其实应该用 $host 变量。修改后的配置如下:
http { server { listen 80; server_name sub1.example.com sub2.example.com; return 301 https://$host$request_uri; }}$host 变量会按照以下优先级获取域名:
Request-Line 中的域名信息。Request-Line 包含 method, uri 和 HTTP 版本。
请求头信息中的 "Host" 。
Nginx 中匹配的 server_name 配置。
看完上述内容,你们掌握怎么在Nginx 重定向时获取域名的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
域名
变量
问题
配置
信息
内容
地址
方法
更多
浏览器
浏览
束手无策
为此
优先级
原因
只有
名字
对此
得了
技能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术都学什么专业
软件开发屏幕下载
网络安全法知识竞赛和答案
实现数据库大字段不显示
日本vpn服务器
网络技术题库app
网络技术特征的描述
万方数据库与知网数据库
富士康 软件开发
黑客会软件开发吗
数据库统计各部门最低工资
sql没有连接到服务器的页面
珠海软件开发费用是多少
校园网络安全实施方案ppt
电商网络安全论文选题
100周年网络安全工作方案
网络安全警钟课件
知名的华为服务器
2019网络安全热点事件
网络道德与网络安全
强网杯网络安全挑战
c 在窗口之间传递数据库
山东省网络安全公司陈承曦
小程序天津网络技术公司
戴尔服务器2020年
高斯数据库 函数
为什么螃蟹游戏没有服务器
网络安全防护知识讲座
职校读网络安全有没有前途
数据库十进制怎么转换为米