话说这篇博客是在是为了保持自己记录生活的习惯而写的,没有什么阅读的价值,各位读者可以直接忽略了。今天在配置一个域名的时候,写了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 比较仁慈一点。。

转载于:https://www.cnblogs.com/roverliang/p/8399278.html

记录一次nginx配置vhost的小bug相关推荐

  1. nginx配置vhost例子

    安利一篇我翻译的国外大牛的神经网络入门文章 nginx下面几个配置vhost的例子 php server { server_name stage.localhost; listen 80 ;root ...

  2. 记录linux下nginx配置html缓存,js,css等不缓存(服务器上的*.html和js,css,jpg等在同一级目录下)

    问题描述: 在linux下的nginx配置拦截html,并设置不缓存,js,css,jpg,png等静态资源缓存30天; 备注: 我们服务器上的*.html和js,css,jpg等在同一级目录下 解决 ...

  3. nginx配置vhost

    windows系统本地使用nginx服务,偶尔会出现项目接口报异常错误或者直接404, 解决办法如下: 配置下vhost.conf- server {listen 80;server_name mal ...

  4. 记录一次nginx 配置https 强制http转发到https

    nginx.conf 主要配置 server {listen 443;root /home/wwwroot/default/xxx; #站点目录server_name www.xxx.com; #填写 ...

  5. 记录一次nginx配置php-fpm 404

    location ~ \.php$ {# root html;# root /usr/share/nginx/html/web/;fastcgi_pass php:9000;fastcgi_index ...

  6. 【微信小程序】 apache配置https,nginx配置https

    1,简介 最近在做一个微信小程序的项目,把我搞得焦头烂额,微信小程序默认必须使用https加密请求,现在配置好了,所以记录一下,如果你也遇到疑惑,希望下面的文章可以帮到你~~! 2,配置https必须 ...

  7. EMQ踩坑之路-搭建/测试/nginx配置websocket的ws及wss/web页面测试连通性、微信小程序使用wss--MQTT推送

    最近公司要做推送平台,我接手做这个任务.在使用过程中遇到一些坑,这里分享给大家. 一.MQTT协议介绍 推送平台一般是基于轻量级的mqtt协议搭建的.mqtt协议是物联网领域常用的,是实现长链接的一种 ...

  8. Nginx配置wss访问实现微信小程序的websocket通信

    WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...

  9. nginx配置及操作简要记录

    2019独角兽企业重金招聘Python工程师标准>>> 因为目前项目中服务多是用nginx进行均衡负载的,所以这里记录下,为以后备查. 如下: nginx安装目录:/root/sof ...

最新文章

  1. 芒果TV 2021 互联网人才招聘
  2. mysql-4.0.20 use on scounix 5.0.7 error :dynamic linker:..:could not open libgthreads.so help!!!!
  3. 神策数据加入中国大数据产业生态联盟,神策营销云及融媒解决方案获联盟认证
  4. 雪花算法之唯一ID生成器理解
  5. spring junit单元测试
  6. fiddler修改支付金额_不容忽视的记账工具:支付宝记账
  7. SpringSecurity应用(一)
  8. goroutine和channel机制与C#类库功能类比
  9. stm32最小原理图的PCB图绘制(含AHT20温度传感器)
  10. 谷歌浏览器Chrome开发者工具详解
  11. 关于hibernate检索策略
  12. 启动计算机配置windows7,如何设置开机启动项,教您电脑如何设置win7开机启动项...
  13. JSON校验和JSON在线编辑器
  14. Vue集成amCharts4
  15. C#打开SDE数据库的几种方式总结
  16. 2022年全球与中国超级电容器市场现状及未来发展趋势
  17. 【Python】python基础编程回顾(4)
  18. 求职秘籍-如何准备面试?
  19. 形象标识 新松机器人_走进新松机器人公司 看新松机器人三大优势
  20. 嵌入式基础学习-烧写工具

热门文章

  1. 销售员/学员/讲师系统
  2. 解决阿里云服务器磁盘报警
  3. 架构师之路17年精选80篇
  4. Lecture 18 Shortest Paths II
  5. 3.9 对称三位素数
  6. Exchange server 2010系列教程之三 发送邮件测试
  7. BeanShell自动装箱拆箱
  8. 亮剑:PHP,我的未来不是梦(11)
  9. 图片预览------photoswipe 使用
  10. SignalR Self Host+MVC等多端消息推送服务(4)