缘由

在开发的时候遇到一个问题,就是在域名后面多加一个点的时候(例:www.csdn.net. )网站一样是能正常访问的,但是此时域却变得不一样了,所以很多请求和资源都会变成跨域的了。虽然不会有什么人去这么做,但是发现 baidu.com. 有对这个做特殊处理,所以我们也决定处理一下。

出现原因

为啥会出现这样我目前也不得而知,个人觉得是在域名DSN接卸层面出现的,因为我ping baidu.com 能ping通,但是我ping baidu.com.一样能ping通,由此可见DNS解析到的是同一个地址。具体原因我也不知道,望有知道的网友留言评论解惑。

解决方法

虽说不知道具体原因,但是也有一些简单粗暴的方式来解决,那就是通过判断http的Host请求头来处理,在nginx中获取客户端传递的Host请求头,然后用正则判断Host请求头中是否是末尾包含点,如果包含点则返回405。

判断正则

这里也是简单粗暴,直接判断 *com. *cn. 这两种结尾的域名类型,如果是以 xyz , top…等其他类型结尾的域名需要自己手动添加

^(.*)(com|cn).$

nginx配置


server{listen 80;server_name demo.lengff.com;location / {if ( $http_host ~ ^(.*)(com|cn).$ ){return 405;}default_type text/plain;return 200 "successful";}
}

前端处理

更简单的就是nginx不做处理, 前端通过location来获取host,然后也是通过上面的正则来判断,如果满足正则,则去掉末尾的点,然后进行重定向。

nginx处理域名后面多一个点相关推荐

  1. 快速通过nginx配置域名访问

    配置nginx进行域名访问文件 在nginx安装目录下的conf目录下新建一个配置文件,比如你新加的域名为admin.hello.com,你希望通过这个域名访问admin项目,那么新建一个admin. ...

  2. Nginx多域名多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: s ...

  3. linux dns中文域名,Nginx 中文域名配置详解及实现

    Nginx中文域名配置 Nginx虚拟主机上绑定一个带中文域名,比如linuxeye.中国,浏览器不能跳转. why? 因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS ...

  4. Nginx通过域名配置虚拟机

    一个域名,对应一个IP地址 通过DNS域名解析服务器,可以将域名解析为IP地址 这里 通过修改host文件,指定域名的IP地址 host劫持 是指在host文件中,配置域名和IP地址,当访问域名的时候 ...

  5. nginx多域名设置和多子目录实现共用一端口

    nginx多域名设置,多子目录,共用一端口 nginx多域名设置,多子目录,公用一端口 前段时间自己买了一个80G的服务器,所以想把原来的网站都整合到这台服务器上面,现在在服务器上绑定了五个域名. 下 ...

  6. Nginx二级域名及多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 注:nginx反向代理同一ip多个域名,给head ...

  7. nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)

    文章目录 前言 一.初始工作 二.准备工作 1.GCC编译器 2.安装zlib 3.安装pcre.pcre-devel 4.安装openssl 三.nginx 1.下载 2.安装nginx 三.域名映 ...

  8. nginx多域名配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: s ...

  9. WebSocket 结合 Nginx 实现域名及 WSS 协议访问

    简单了解一下 WebSocket 现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器 ...

  10. 阿里云ECS部署Nginx配置域名访问

    目录 前言 环境 具体步骤 服务器 域名 SSL证书 Nginx配置 前言 记录下阿里云服务器建站的过程(回回建,回回忘,尴尬...) 环境 ECS(Centos7.6)+ Nginx 具体步骤 服务 ...

最新文章

  1. codevs 1269 匈牙利游戏
  2. 分享10个强大的神器工具,你一定会需要!
  3. 袋鼠云大数据面试题回忆
  4. bzoj3252攻略(线段树+dfs序)或者(树链剖分+dfs)
  5. tiny4412 SDK1312B LED驱动
  6. 实验吧Web-易-天网管理系统(php弱类型,==号)
  7. 计算机有新的更新,现在是2018年,我的电脑最近总是弹出说有重要更新,提示自2017年5月9日后,microsoft - Microsoft Community...
  8. 润乾V5打印完成后事务处理
  9. 一些数据链路层的题目
  10. 10.iterm 2 install rz , sz
  11. 2022 基于SpringBoot/SSM的脚手架租赁系统
  12. 统计局:2018年全国规模以上工业企业利润增长10.3%
  13. 跟我学系列,走进Scrapy爬虫(六)Spiders爬虫
  14. pkl文件与pickle.dump,pickle.load
  15. 微信公众号ajax500,普通js使用ajax,微信公众号授权(微信网页授权)
  16. Uber面向中印开发者公布SDK,支持第三方应用集成服务
  17. win7防火墙规则设置
  18. GitLab CI/CD .gitlab-ci.yaml 关键词(三):制品artifacts,缓存cache
  19. java编写超市收银系统_java编写的超市收银系统
  20. 【Bug】WindowsPowerShell\profile.ps1

热门文章

  1. 通过tomcat插件启动Maven工程
  2. Android Studio Gradle 缓存文件夹设置
  3. matplotlib绘制李萨如图(一) 静态2D李萨如图
  4. js高级学习笔记(b站尚硅谷)-13-作用域链
  5. chown、chgrp 更改文件属主属组
  6. 企业级NFS网络文件共享服务
  7. 最新sfc模拟器安卓汉化版_卡车模拟器山货运卡车3D游戏安卓最新版 v1.0 卡车模拟器山货运卡车3D游戏下载...
  8. html不支持js,解决Firefox不支持Js的InnerHtml问题
  9. CMU15213 Intro to Computer Systems学习笔记(14) Exceptional Control Flow: Signals and Nonlocal Jumps
  10. android访问局域网电脑,如何设置电脑使安卓手机能访问局域网共享的文件