记录一次nginx配置vhost的小bug
话说这篇博客是在是为了保持自己记录生活的习惯而写的,没有什么阅读的价值,各位读者可以直接忽略了。今天在配置一个域名的时候,写了new_example.com(举例而已) 因为是内测,所以并未想象到深层次的问题,直接就运行了。但是我在本地写host 的时候写的却是如下的配置:
192.168.1.188 old_example.com
然后我访问 old_example.com,正确的解析到了 new_example.com 的网站上。这一切我都没有感觉到错误,直到同时提醒我,我这才发现为什么host写错了。但是为什么我host写错了,却能解析到正确的网站地址呢。
首先我想是不是Nginx 配置的问题,如果没有匹配到要解析的网站,会默认解析到自己第一个网站上。但是我查看Nginx的配置,并不存在这个问题。我们项目走的是微服务的模式,比如支付走的是一个服务,有一个域名,平时的活动也是服务,有一个域名,再有就是用户体系,登录体系等。使用的时候通过Yar 的RPC 调用来进行服务。测试环境、开发环境,域名中如果有 下划线_ ,统一会转化成 横杠-
,因为自己平时并负责项目架构方面的内容所以对这块关注过少,只是一个约定俗成的规定,大家都按照这个规范来配置测试域名。
直到遇到今天这个意外的bug,让我学到了域名的命名规范。让我们来看下域名的规范是怎么样规定的:
参考地址:域名中不应出现下划线
RFC 952 - 美国国防部互联网主机表规范中的相关条文如下:
A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus sign (-), and period (.).
下面有评论指出,Apache 并不这样处理这个下划线,关于Apache 和 lighttpd 我并没有测试。这种规则,我们遵守就行了,不必浪费精力去追求。浪费时间在这些事情上面,和谋财害命没有什么区别。评论摘抄如下:
早期有人用下划线域名曾经出现过世界范围的 DNS 混乱,现在应该不会出大问题了,不过还是尽量避免为好。水木有个版面域名叫 版名.board.newsmth.net,碰到有下划线的版名 lighttpd 直接拒绝跳转,而原来用 apache 跳转的时候还是允许的,看来 apache 比较仁慈一点。。
记录一次nginx配置vhost的小bug的更多相关文章
- 记录一次 Nginx 配置 proxy_pass 后 返回404问题
一. Nginx 配置 proxy_pass 后 返回404问题 故障解决和定位 1.1. 问题 在一次生产涉及多次转发的配置中, 需求是下面的图: 在配置好了 proxy_pass 之后,请求 ww ...
- nginx配置vhost配置文件详解
//千锋PHP-PHP培训的实力派server { listen 80; server_name www.sina.com; root /data/www/sina; index index.php; ...
- nginx配置https及Android客户端访问自签名证书
前一篇随笔通过keytool生成keystore并为tomcat配置https,这篇随笔记录如何给nginx配置https.如果nginx已配置https,则tomcat就不需要再配置https了.通 ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Nginx隐藏index.php和配置vhost
nginx启动命令 启动:nginx停止:nginx -s stop退出:nginx -s quit重启:nginx -s reopen重新加载:nginx -s reload平滑启动:kill -H ...
- nginx配置虚拟主机vhost的方法详解
Nginx vhost配置,可实现基于ip.端口号.servername的虚拟主机,同时可避免直接修改主配置文件.在nginx下配置虚拟主机vhost非常方便.这篇文章主要介绍了nginx配置虚拟主机 ...
- Nginx配置日志格式记录cookie
Nginx配置日志格式记录cookie1. 一般用来做UV统计,或者获取用户token等. 配置方式: 在nginx的配置文件中有个变量:$http_cookie来获取cookie的信息.配置方式很 ...
- Nginx记录-Nginx配置
1. 启动,停止和重新加载Nginx配置 要启动nginx,请运行可执行文件. 当nginx启动后,可以通过使用-s参数调用可执行文件来控制它. 使用以下语法: nginx -s signal 信号( ...
- [记录]NGINX配置HTTPS性能优化方案一则
NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...
随机推荐
- DOS在这里
转自: http://blog.csdn.net/rheostat/article/details/8043835 在右键菜单中添加Dos快捷通道-dos在这里 在右键菜单中添加 Dos 窗体 不用每 ...
- PowerBuilder编程新思维4:钩挂(界面美化与DirectUI)
<第二部分 Outside> PowerBuilder编程新思维4:钩挂(界面美化与DirectUI) PB的界面由于其封闭性,一直以来都是最大的弱项.自PB9.0开放了PBNI接口后,开 ...
- POJ 2419 Forests(模拟)
题目链接: https://cn.vjudge.net/problem/POJ-2419 题目描述: If a tree falls in the forest, and there's nobody ...
- .33-浅析webpack源码之doResolve事件流(5)
file => FileExistsPlugin 这个事件流快接近尾声了,接下来是FileExistsPlugin,很奇怪的是在最后才来检验路径文件是否存在. 源码如下: FileExistsP ...
- jstl 中无法使用EL语句。异常信息:According to TLD or attribute directive in tag file, attribute value does not accept any expressions
JSTL 标签库的有两种 taglib 伪指令, 其中 RT 库即是依赖于 JSP 传统的请求时属性值, 而不是依赖于 EL 来实现: 只要将 <%@ taglib uri="http ...
- 修改VS类模板自动添加public修饰符和版权注释信息
在开发过程中,我们经常需要给类或接口添加public修饰符(默认没有)和一些相关的注释信息,这个工作是机械而枯燥的,而这个简单的需求其实是可以通过修改VS自带的类模板来实现的,下面是详细的修改步骤. ...
- 前端SEO
一.搜索引擎工作原理 当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果.深究其背后的故事,搜索引擎做了很多事情. 在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关 ...
- java设计模式-----24、访问者模式
概念: Visitor模式也叫访问者模式,是行为模式之一,它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作. 访问者模式的应用示例 比如有一个公园,有一到多个不同 ...
- Codeforces841A
A. Generous Kefa time limit per test:2 seconds memory limit per test:256 megabytes input:standard in ...
- grunt搭建自动化的web前端开发环境(转)
1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个“真的”重复,表示重点).至于grunt的作用,这里不详细说了, ...