怎么在Nginx 重定向时获取域名
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,怎么在Nginx 重定向时获取域名?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HTTP 请求跳转到同名的 HTTPS 请求,配置如下:
千家信息网最后更新 2026年11月03日怎么在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安全错误
数据库的锁怎样保障安全
咖啡网
上海挚品互联网科技有限公司
广州万易互联网科技有限公司
互联网科技与金融科技
广州互联网科技公司
互联网金融 科技金融
猪兼强互联网科技
互联网科技革命
互联网科技网站
互联网金融和金融科技
现代科技和互联网有关系吗
浙江互联网科技研学营
宜昌元轩互联网科技有限公司
西安小鹰速贷互联网科技有限公司
高科技互联网发展前景如何
梅州GM互联网络科技有限公司
互联网科技数字货币
互联网科技博主张洲
10位科技互联网大佬
高科技和互联网的现代国家
博彦科技互联网金融
礼当家互联网科技
上海致骋互联网科技
齐家互联网科技有限公司
中盈科技互联网信息有限公司
湖南一路畅行互联网科技
新兴科技互联网创新大赛颁奖典礼
上海乐五互联网科技有限公司
云鲸互联网络科技有限公司
玉溪新华互联网科技怎么选