怎么在Nginx 重定向时获取域名
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,怎么在Nginx 重定向时获取域名?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HTTP 请求跳转到同名的 HTTPS 请求,配置如下:
千家信息网最后更新 2024年10月24日怎么在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安全错误
数据库的锁怎样保障安全
简述网络安全的相关评估标准
sql数据库重命名三种方式
克拉玛依小程序软件开发公司
java 开发网络安全
网络安全抽奖真实案例
网站为什么要买服务器
连接服务器的电脑都叫终端电脑吗
软件开发电脑的cpu
苹果手机邮箱收发服务器怎么设置
腾云云服务器
中国社会科学数据库
郑州轻工业学院软件开发
网络安全图片及症状
大数据库技术基础知识
小象直聘网络技术有限公司
网络安全教育活动及回执单
手机应用数据库
200m服务器能多人用
诚信的企业内网网络安全
数据库研究生就业情况
服务器端云转码
浪潮软件开发面试
psn服务器维护
魔兽8.1 大脚数据库
安徽加工软件开发怎么样
网络安全竞赛 两类题目
云服务器镜像是什么
棋牌 欺骗服务器
青少年网络安全意识
濮阳市国家网络安全宣传