域名结构

一次dns缓存引发的惨案

元气小坏坏 提交于 2019-12-26 14:45:25
时间2015年的某个周六凌晨5点,公司官方的QQ群有用户反馈官网打不开了,但有的用户反馈可以打开,客服爬起来自己用电脑试了一下没有问题,就给客户反馈说,可能是自己网络的问题,请过会在试试。早点8点,越来越多的用户反馈官网无法打开,并且有部分用户开发反馈app也打不开了,客服打电话叫起了还在梦乡中的我。 分析定位 被客服叫起来之后,一脸懵逼,不知道什么情况,给客服回复,知道了,立刻排查,待会有消息及时沟通。用凉水洗了一把脸清醒了一下,立刻根据经验回忆这两天生产投产的情况:上线了XX模块,不影响、修复了XXbug,应该也不影响、刚给服务器配置了https,看起来好像有点关系,但是app暂时没有投产https,怎么也出现问题,排除之。打开电脑核查了最近的投产记录应该都不至于发生这么严重的问题,随怀疑是不是网络方面有问题,立刻打电话叫起来运维经理以及相关人等一起排查。 一边让网络和运维排除问题,一边再次核查了web服务器、数据库服务器、业务日志、数据库日志,以及其它的一些监控数据,各项皆正常。试着在本机ping了一下域名确实不通,更加怀疑是网络问题,尝试这直接使用外网访问官,可以打开没有问题,可以基本确认服务没有问题,但运维部反馈网络设备什么都正常,肯定是你们投产代码出问题了,各方硬着头皮继续在排查。 9点,群里开始有大规模的用户反馈官网和app都打不开了,更有部分用户煽动

Web阶段性技术文档(Cookie)

☆樱花仙子☆ 提交于 2019-12-25 13:15:05
一、基本概念的学习 1 、什么是Cookie Cookie 是 服务器保存在浏览器 的一小段 文本信息 。浏览器每次向服务器 发出请求 ,就会 自动附上 这段信息。 Cookie 就是这么简单,这就是 Web 开发里 Cookie 的含义。 2 、Cookie的作用 (1)Cookie 主要用来分辨两个请求是否来自同一个浏览器 (2)用来保存一些状态信息,例如: a. 对话(session)管理 :保存 登录、购物车 等需要记录的信息。 b.个性化:保存 用户的偏好 ,比如网页的 字体大小、背景色 等等。 c.追踪: 记录和分析用户行为 。 不推荐 使用Cookie作为客户端存储,原因: a.它的容量很小(4KB)。 b.缺乏数据操作接口。 c.而且会影响性能。 客户端储存应该使用 Web storage API 和 IndexedDB 。 (3)使用Cookie一般有 两个作用 。 第一个作用是 识别用户身份 。 比如用户A用浏览器访问了http://a.com,那么http://a.com的服务器就会立刻给 A 返回一段数据「uid=1」(这就是Cookie)。当 A 再次访问http://a.com的其他页面时,就会附带上「uid=1」这段数据。 同理,用户 B 用浏览器访问 http://a.com 时,http://a.com 发现 B 没有附带 uid 数据

带你探索网络里的那些秘密

天涯浪子 提交于 2019-12-24 06:14:45
背景 网络,网络... 虽然只是一个简单的名词,但是她的背后却掩藏着太多太多的故事以及知识。 穷其编程的一生,或许也只能探索出那冰山一角,嗨... 小时虽知,学海无涯,却毫不知意。玩乃天性,却空流时光。憾... so,矫情之余,我们来探索一下网络究竟是怎么传输的。 概述 探索网络的范围,都在上图有所展示(另存为看大图)。 正文 一. 生成HTTP请求消息 打开一个网站,都是从浏览器中输入网址开始,我们的探索也是从这里开始。 https: 是协议,告诉浏览器我们要访问的目标,而https: 代表的就是访问Web服务器,当然也有其他的协议。比如ftp:访问的就是FTP服务器等。 sexyphoenix.github.io 是Web服务器域名,可以告诉我们在哪里可以找到Web服务器。 about/ 是Web服务器里面的文件路径名,这里的about是目录名,全路径可能是about/index.md,而index.md应该被github掩藏了。 浏览器首先要做的就是对URL进行解析,知道我们要访问的是sexyphoenix.github.io这个Web服务器上文件路径为about目录下的默认文件。 知道了要访问的目标,接下来浏览器就要生成HTTP的请求信息,介绍到这,就要聊一聊HTTP协议了。 HTTP协议规定了客户端和服务器通信的内容和步骤,简单来说,就是两个部分 “对什么” 做

nginx虚拟主机配置

那年仲夏 提交于 2019-12-20 19:55:10
在真实的服务器环境,为了充分利用服务器资源,一台nginx web服务器会同时配置N个虚拟主机,这样可以充分利用服务器的资源,方便管理员的统一管理 配置nginx虚拟主机首先肯定要先部署咱们的nginx,具体nginx部署安装请移步 nginx部署 ,配置nginx虚拟主机需要大家了解nginx配置文件以及nginx的各个目录,若需要请移步 nginx目录结构与配置文件详解 配置nginx虚拟主机有三种方法:基于ip地址的虚拟主机、基于域名的虚拟主机以及基于端口的虚拟主机,下面为大家逐一讲解 基于域名的虚拟主机 基于域名的虚拟主机原理:相同IP地址,相同端口、不同的域名。也就是说多个虚拟主机之间共用一个ip地址以及一个端口(80),区分各个主机之间使用不同的域名,当然访问的时候也就只能使用域名进行访问了,基于域名的虚拟主机是最常用的方式 配置: http{ ......省略其他代码 #第一台虚拟主机 server { listen 80; server_name a.jkyst.xyz; #这里域名一定不要重复 access_log logs/a.access.log; #日志需求可以根据自己的要求去做,如果觉得日志无所谓分不分开大可以放到一起 location{ root html/a; #这里是网站的根目录,注意为了测试一定要分开,里面写上不同的html index index

nginx虚拟主机配置

元气小坏坏 提交于 2019-12-20 18:57:47
在真实的服务器环境,为了充分利用服务器资源,一台nginx web服务器会同时配置N个虚拟主机,这样可以充分利用服务器的资源,方便管理员的统一管理 配置nginx虚拟主机首先肯定要先部署咱们的nginx,具体nginx部署安装请移步 nginx部署 ,配置nginx虚拟主机需要大家了解nginx配置文件以及nginx的各个目录,若需要请移步 nginx目录结构与配置文件详解 配置nginx虚拟主机有三种方法:基于ip地址的虚拟主机、基于域名的虚拟主机以及基于端口的虚拟主机,下面为大家逐一讲解 基于域名的虚拟主机 基于域名的虚拟主机原理:相同IP地址,相同端口、不同的域名。也就是说多个虚拟主机之间共用一个ip地址以及一个端口(80),区分各个主机之间使用不同的域名,当然访问的时候也就只能使用域名进行访问了,基于域名的虚拟主机是最常用的方式 配置: http{ ......省略其他代码 #第一台虚拟主机 server { listen 80; server_name a.jkyst.xyz; #这里域名一定不要重复 access_log logs/a.access.log; #日志需求可以根据自己的要求去做,如果觉得日志无所谓分不分开大可以放到一起 location{ root html/a; #这里是网站的根目录,注意为了测试一定要分开,里面写上不同的html index index

从零搭建基于golang的个人博客网站

安稳与你 提交于 2019-12-18 13:16:46
原文链接 : http://www.bugclosed.com/post/14 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面。 本博客 就是通过这几个环节建立起来的,下面总结梳理一下环节的具体过程。 云服务器 博客程序需要有一个服务器部署和运行,所以首先需要选购一个云服务器。阿里云是国内最大的云厂商,简单起见直接选购阿里云的入门级ECS(1核,1G内存,1M固定带宽,20G SSD磁盘)。初始化主机选择centos7.2系统,可同时在后台初始化的时候设置好root初始密码。 需要注意的是,该级别的ECS是属于弹性网络,即公网IP和ECS是分离的,在ECS上 ifconfig并不能看到公网IP,只能看到内网IP;阿里云会通过自己内网的路由功能将阿里云后台上看到的公网IP映射到具体的ECS上,所以在这样的机器上部署程序是不能绑定公网IP的,程序只能绑定内网IP。当然也可以选购的时候选择阿里云的经典网络,保持主机公网和内网IP都是绑定在ECS上,不过价格会稍微贵一点。 域名 有了云服务器之后,就有一个地方可以部署博客程序,也有了一个公网IP可以访问到这个机器,但是不能每次访问都输入晦涩难记的IP来进行,需要一个方便易用的域名来代替。域名可以通过 万网 (已经被并入了阿里), godaddy 等域名服务商购买。 我选择在godaddy上购买

什么是DNS

懵懂的女人 提交于 2019-12-18 09:14:06
DNS,或者说域名系统,通常是学习如何配置网站和服务器的一个非常困难的部分。了解 DNS 的工作原理将有助于诊断网络访问的问题,也有助于理解 DNS 系统背后的工作原理。 这篇文章中,我们会讨论一些基本的 DNS 概念,这些概念将有助于你配置并使用 DNS。 在我们开始配置你自己的服务器域名解析之前,让我们先来看一些关于这些是如何实现的的基本概念。 我们应该先从 术语 定义开始。虽然有一些术语在谈论计算领域中其它内容时经常出现,但是有许多术语不常使用。 先从简单的开始: 域名系统(Domain Name System) 域名系统(通常被称为“ DNS ”)是一个网络系统,允许我们把对人类友好的名称解析为唯一的地址。 域名(Domain Name) 域名是我们习惯于与互联网资源关联的人性化名称。例如,”google.com” 是一个域名。有些人会说 “google” 部分是域名部分,但我们通常可以将组合形式称为域名。 网址 “google.com” 与 Google Inc. 拥有的服务器相关联。当我们在浏览器中键入 “google.com” 时,域名系统允许我们访问其相关联的 Google 服务器。 IP 地址(IP Address) IP 地址是我们所说的网络可寻址位置。每个 IP 地址在其网络中必须是唯一的。我们这里谈论的网络就是指整个互联网。 IPv4,目前最常见的地址形式

cdn服务器

喜欢而已 提交于 2019-12-18 00:25:48
CDN的基本原理和基础架构 CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。 CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。 用户向CDN的全局负载均衡设备发起内容URL访问请求。 CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。 全局负载均衡设备把服务器的IP地址返回给用户。 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容

http协议讲解

亡梦爱人 提交于 2019-12-17 20:13:28
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 http请求-响应模型.jpg 主要特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接

zookeeper的作用与机制

狂风中的少年 提交于 2019-12-14 13:13:53
参考地址: https://www.cnblogs.com/ultranms/p/9585191.html 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 这大概描述了Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这些到底是什么,以及有哪些开源系统中使用了。 配置管理 在我们的应用中除了代码外,还有一些就是各种配置。比如数据库连接等。一般我们都是使用配置文件的方式,在代码中引入这些配置文件。但是当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法,但是如果我们配置非常多,有很多服务器都需要这个配置,而且还可能是动态的话使用配置文件就不是个好主意了。这个时候往往需要寻找一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更