-
2020-10-22 20:57:22
今天我们写极少量的代码,来实现用IP地址来访问一个网站。步骤如下:
- 打开命令提示符,输入以下代码:
(这里用CSDN官网https://www.csdn.net/
为例)
输入代码ping csdn.net /n 5
- 复制上面
正在 Ping csdn.net [47.95.164.112]
中的47.95.164.112
,每台电脑测试的都不一样,所以照做就行,不要复制。 - 打开浏览器在网址栏输入复制的IP,按回车,完成。
更多相关内容 - 打开命令提示符,输入以下代码:
-
为什么域名能够访问网站,而直接使用IP不可以
2018-10-16 11:19:22为什么域名能够访问网站,而直接使用IP不可以背景介绍提出问题分析原因只输入ip地址访问不到域名的原因:多个站点对应一个ip地址的问题虚拟主机技术反向代理技术小结 背景介绍 在访问杭电官网杭电官网的时候,直接在...为什么域名能够访问网站,而直接使用IP不可以
背景介绍
在访问杭电官网杭电官网的时候,直接在浏览器上,输入域名是可以得到访问结果的。因此,产生了一种猜测,既然网络中实际上是根据域名转换的IP来直接访问服务器的,那么我直接通过IP来访问杭电官网是否可以??
通过nslookup 解析出杭电官网的ip地址,然后在浏览器中手动输入相关ip地址,结果并不能得到访问结果,为什么?
解析到的ip地址有两个
218.75.123.182
218.75.123.181
初步怀疑可能是用这两个IP地址做了高可用
当其中某一个Ip地址访问不到的时候,另外一个ip地址可以访问到。继而,我决定换个网站来试一下,看能否直接访问杭电OJ,高潮来了,惊讶的发现杭电OJ和杭电官网,这两个网站对应的IP地址是同一个。
提出问题
由于上面的情况,我内心中充满了疑问,主要有两点。
- 1.为什么我直接访问
www.hdu.edu.cn
是能够访问到网站的,而当我输入218.75.123.182却访问不到? - 2.为什么
www.hdu.edu.cn
和acm.hdu.edu.cn
这两个网站使用dns解析出来的ip地址是一样的?
分析原因
查阅众多资料后,基本能够分析出以上两个问题的原因所在。
只输入ip地址访问不到域名的原因:
使用nslookup对多个杭电下的网站进行解析,发现很多站点的ip地址是相同的,都是218.75.123.182,218.75.123.181这两个。如下图所示,杭电网站cloud.hdu.edu.cn和www.hdu.edu.cn以及杭电oj系统.www.hdu.edu.cn对应的是同一个公网ip地址(不知道公网ip和私网ip的,可以查一下百度)
这么多站点对应同一个ip地址,你只输入ip地址,浏览器当然不知道你到底要访问哪一个站点,这就是为什么你不能够使用ip地址去访问的原因所在。
多个站点对应一个ip地址的问题
理论上来说,一个ip对应一个站点,这是很正常的,那为什么会出现上文中所描述的那样,一个ip地址对应多个站点的情况呢?
有两种技术可以实现描述的问题
- 1.虚拟主机技术
- 2.反向代理技术
虚拟主机技术
虚拟主机技术是apache,nginx等服务器所特有的一种功能,也就是实现多个站点在同一台服务器上放置。假如说杭电是使用虚拟主机技术实现的一个IP对应多个web站点的话,那么实际情况应该是这个样子:
比如我现在有一台服务器,我可以在服务器里面描述这样一种站点和实际路径的关系:
站点 实际存放路径 acm.hdu.edu.cn /var/www/acm www.hdu.edu.cn /var/www/html cloud.hdu.edu.cn /var/www/cloud 那么这样这三个站点就能够在同一台服务器上共存了,当你访问acm.hdu.edu.cn的时候,主要有这么几个步骤
- 1.dns做域名解析,然后得到解析后的结果,假如说是218.75.123.182。
- 2.浏览器开始与目标ip地址为218.75.123.182的服务器进行三次握手操作,建立TCP连接
- 3.浏览器开始构建HTTP请求报文,报文的头部格式为
Accept */* Accept-Encoding gzip, deflate Accept-Language zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Connection keep-alive Cookie PHPSESSID=v103qj5emvgv5j8hd85d2aro33 Host acm.hdu.edu.cn Referer http://acm.hdu.edu.cn/ User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/62.0
只需要关注这个报文头部的这么一段
Host acm.hdu.edu.cn
通过这个报文可以知道,浏览器要访问ip地址为218.75.123.182的服务器的哪一台HOST(这里有一个概念,服务器上面可以有一个站点,也可以由多个站点,有一个站点的话,服务器上就只有一个HOST,如果有多个站点的话,服务器上面就会有多个虚拟HOST)
- 4.服务器接受到这个报文之后,会进行分析,apache服务器会根据报文中的host,来匹配自己的配置文件。假设,服务器中的配置文件是这样写的:
<VirtualHost *:80> DocumentRoot /var/www/acm ServerName acm.hdu.edu.cn </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html ServerName www.hdu.edu.cn </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/cloud ServerName cloud.hdu.edu.cn </VirtualHost>
那么当请求报文中的HOST是acm.hdu.edu.cn的时候,apache服务器就会根据自己的配置文件所写的那样,去/var/www/acm目录下寻找站点内容。
- 5.服务器处理请求,构建响应报文,发送响应报文到客户端
反向代理技术
当我以为我已经接近了事实真相的时候,意外的发现了另外一个问题,我登录到校园网,然后继续使用nslookup进行域名解析,发现了一个惊讶的事情,解析之后,上文中所提到的那三个站点的ip完全不一样。也就是说实际上这三个站点完全放在了不同的服务器上,即不可能是使用的虚拟主机技术(如果使用虚拟主机技术,这几个站点肯定是在同一台服务器上的)。
如下图所示
内网、外网解析文中所述三个站点的情况如下表所示网站域名 外网解析 内网解析 acm.hdu.edu.cn 218.75.123.182,218.75.123.181 192.168.102.19 www.hdu.edu.cn 218.75.123.182,218.75.123.181 192.168.102.6 cloud.hdu.edu.cn 218.75.123.182,218.75.123.181 10.1.18.137 既有192.168开头的私网ip地址,又有10.1开头的私网ip地址,这种特殊的网络结构是由于杭电的网络规划造成的,一开始杭电使用的是192.168开头的私网ip地址,后来发现不够了,继而进行扩展,使用10.1开头的私网ip地址。这里对于这一部分内容不做深究
由此,我们基本可以推断出,杭电实际的网络结构是下图所示的样子。而不是上文中,我所推测的虚拟主机。
当我在外网访问acm.hdu.edu.cn的时候,主要经历了这么几个步骤。
通过dns解析获得acm.hdu.edu.cn的反向代理ip地址 218.75.123.181。
1.客户端发送报文到ip地址为218.75.123.181的服务器上,中间要经过NAT路由器,做NAT转化,把私网IP地址转化为公网IP地址。
2.数据包在因特网中进行路由准发
3.数据包最终到达218.75.123.181的apache服务器,这个服务器实际上并不承担web站点任务,主要是作为一个WEB网站的网关角色(反向代理角色)。
4.请求报文中的HOST是acm.hdu.edu.cn
,因此,反向代理服务器会将请求报文转发至域名为acm.hdu.edu.cn的主机上。acm主机处理完请求之后,会将处理后的结果返回至客户端。小结
本文主要讲了两方面:
- 1.直接使用ip地址访问不了站点的原因
原因就在于该ip地址可能对应着多个web站点,单单依靠ip地址是不知道如何匹配到哪个web站点的。但是通过域名,我们就能够知道具体要访问哪一个HOST。如果使用虚拟主机,直接找到相关virtual HOST即可,如果使用反向代理,那么通过代理找到HOST的实际私网地址也可以。
- 2.只有一个公网ip如何实现多个WEB站点的访问
有两种办法可以实现,其一是虚拟主机,其二就是反向代理。通过目前来看,虚拟主机的实现方式已然不多,更多的企业或者学校使用的是反向代理技术
针对本案例(杭电若干网站),这若干网站经过DNS解析后对应的是同一个ip
218.75.123.182或者218.75.123.181
,用户请求接入到这个公网ip的时候,该服务器会进行反向代理,根据请求报文中的HOST名字,将请求报文转发至具体的局域网内部的主机进行处理,然后再将处理结果进行返回。 - 1.为什么我直接访问
-
限制访问网站、过滤特定网址、禁止访问指定网站的方法
2019-07-31 17:12:59限制访问网站、过滤特定网址、禁止访问指定网站的方法 此博文包含图片 (2017-12-19 16:36:25)转载▼ 许多公司出于管理员工上网行为的需要,经常限制电脑访问一些网站例如游戏网站、购物网站或是视频网站等等。网上...限制访问网站、过滤特定网址、禁止访问指定网站的方法 此博文包含图片 (2017-12-19 16:36:25)转载▼
许多公司出于管理员工上网行为的需要,经常限制电脑访问一些网站例如游戏网站、购物网站或是视频网站等等。网上介绍了一些方法,通过windows操作系统可以实现限制网址访问,但是设置起来往往比较麻烦,对于电脑较多的公司来说并没有可行性。相对而言,通过软件就要简单的多了,例如有一款软件叫做大势至电脑文件防泄密系统,这个软件自带的网址黑白名单功能正好是我们需要的,下面就来介绍一下具体设置方法。
首先我们在官网下载软件:http://www.grablan.com/monitorusb.html
双击安装程序开始安装软件,安装完成后,软件将自动隐藏运行,此时可以按组合键alt+F2调出软件的登录窗口,输入默认用户名admin和密码123就可以进入软件主界面了,如下图所示:
我们可以看到软件界面上有两个选项分别是:“禁止打开的网页”和“只允许打开的网页”,具体设置方法是:设置禁止网页列表:勾选“禁止打开的网页”,点击“+/-”,在弹出的窗口中输入要禁止打开的网站名称,例如禁止访问百度,只需输入“百度”,点击“添加”,保存即可。设置“只允许打开的网页”方法相同。如下图:
设置完成后,可以打开浏览器测试一下控制效果,可以发现,当用户访问禁止网页列表中的网址时,浏览器将自动退出。这个方法是不是简单了很多呢,有兴趣的朋友可以试用一下。
-
解决springboot无法访问此网站,springboot启动后无法访问网站
2019-07-29 10:31:54在学习spring boot以及mybatis时遇到了启动springbboot项目后在浏览器上无法访问,新建项目有时候能解决但是遇到问题一直避开也不是问题,终于让我发现了原因。 无法访问图如下: 在idea中控制台上显示如下: 在...在学习spring boot以及mybatis时遇到了启动springbboot项目后在浏览器上无法访问,新建项目有时候能解决但是遇到问题一直避开也不是问题,终于让我发现了原因。
无法访问图如下:
在idea中控制台上显示如下:
在这里相对之前很多出现了很多的DEBUG,所以原因时启动了debug模式而没有开启主应用程序。
开启后控制台显示:
问题解决!!
希望能帮助到大家!! -
阿里云云服务器无法通过公网ip地址访问网站的解决方法
2022-02-01 15:50:29刚购买的阿里云服务器自建网站却发现无法通过公网ip地址访问网站,主要是由于阿里云云服务器默认没有配置80端口的http协议安全组,给其添加上即可。 在自己的服务器实例中点击更多,选择网络与安全组,点击安全组... -
Nginx只允许域名访问网站,禁止使用IP 访问80,443端口
2020-05-20 09:07:27转载来源 :Nginx只允许域名访问网站,禁止使用IP 访问80,443端口 :http://www.safebase.cn/article-260225-1.html 摘要: 一、背景 为了避免别人把未备案的域名解析到自己的服务器ip而导致服务器被断网,需要在... -
【CentOS7】使用命令行访问网站的工具cURL
2020-03-29 09:17:57【CentOS7】使用命令行访问网站的工具cURL 简介 curl 是瑞典 curl 组织开发的,您可以访问: http://curl.haxx.se/ 获取它的源代码和相关说明。 支持很多协议: FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,... -
用户访问网站原理及流程
2018-03-13 13:27:23原文地址:...打开浏览器输入网址回车,到看到页面的过程大纲:1、用户访问网站流程框架2、DNS解析原理 *****3、tcp/ip三次握手原理 *****4、http协议原理(www服务的请求过程)请求报文细节!5、大规... -
扫二维码访问网站、网页
2020-05-18 21:58:00其实其中的原理就是,这个二维码中包含了你要访问的地址的url,扫码可以解析其中的url从而进行访问。 下面以springboot项目来实现,通过扫二维码访问我的博客首页。 引入谷歌二维码生成器jar包: <... -
通过域名访问网站的原理过程
2018-02-09 09:26:41一、域名解析图二、常识1、IP地址是直接能访问网站的,之所以用域名访问原因如下:(1)但是IP地址不好记;(2)IP地址是一堆数字对用户不友好;(3)正常情况下对一个公司来说,域名是不变的,并且好记,比如 ... -
为什么会出现“该地址为IP地址,请使用域名访问网站”?要怎么解决?
2021-09-27 09:25:43当我们输入网址时就相当于输入了网站的IP地址,就可以访问网站了。 根据《国务院互联网信息服务管理办法》的第二条、第四条规定,在中华人民共和国境内从事互联网信息服务的,必须取得许可或者履行备案手续,否则... -
Wireshark抓取访问网站全过程
2019-08-25 11:05:16给同学参考使用 ...0x02 访问网站 打开浏览器,访问目标网站,www.4399.com。 待访问完成后,关闭抓包。 0x03 分析过程 先查DNS,在显示过滤器中输入DNS,回车。 报文比较多,使用ctrl+F进行搜索,... -
Linux宝塔禁止国外ip访问服务器,屏蔽国外ip访问网站代码(亲测有效)
2019-09-16 21:27:02当网站做到一定程度时,说不准就会引来某些不良人士的攻击,以及扫描漏洞,或者是当你...这也就意味着如果能屏蔽国内ip访问网站,能干掉70%的CC或者ddos攻击,前段时间小新网赚博客也被攻击了,然后我在网上找了很多... -
Linux命令行下访问网站
2018-08-18 15:10:221.CURL访问 例子 :curl ... 注意:这种访问只会直接读取网站HTML代码出来 2.elinks访问 (1)安装elinks yum -y install elinks (2)直接返回纯文字 elinks --dump http://www.baidu.com ... -
将域名直接映射到网站首页(通过域名即可访问网站首页)
2018-11-28 17:07:24前段时间做了自己的个人网站,注册了域名,并且域名已经解析到了我租的服务器的公网ip, ...而且大家的网站也都是这样的,通过域名就可以直接访问到网站首页, 网上搜索了一些资料后,解决了这个问... -
微信访问时,提示:该地址为ip地址,请使用域名访问网站
2019-09-30 17:54:061、微信扫描二维码,访问我的一个页面。提示下面错误。 2、微信内部,应该是有个安全机制,把ip认为是不安全的访问。 改成域名访问后,解决问题 ... -
Win10让局域网内其他电脑通过IP访问网站的方法
2019-11-11 18:22:111.控制面板->系统和安全->Windows Defender 防火墙->高级设置,按照如下图片所示,找到 域配置文件 和 专用配置文件(域配置文件 旁边) ... 4. 这时看见“高级设置中的防火墙属性上方都为 允许 状态 ... -
为什么用IP无法访问网站,域名可以访问?
2018-07-01 17:38:47我们访问网站都是通过域名进行访问的,偶尔会使用网站IP进行访问,如学校通常使用IP登录教务处,但很多的时候我们无法通过ip进行访问其他网站,这就涉及到服务器的问题了。 网站都是依托在服务器上面的,而服务器有... -
网站被国外IP攻击 禁止海外IP访问网站的解决办法
2019-05-05 10:42:38研究发现很多网站被攻击都是来自海外的肉鸡,所以禁掉海外IP访问网站也是不错的防护手段,而且国内网站几乎很少有国外用户访问,称之为大局域网也不为过。 今天来教大家如何利用域名解析禁止掉海外IP访问网站。 ... -
以IP地址的形式访问网站
2018-02-27 10:45:26一致以来我都习惯于用域名的方式来访问网站,看到同事用IP地址来访问网站,也仅仅只是好奇,试了一下也没成功,于是就放弃了。 最近发布了站点,客户并没有提供域名,于是通过IP地址访问的方法又在我的脑子里蹦了... -
使用https访问网站静态资源无法加载
2019-10-13 11:23:57最近发现公司m站使用https访问的时候,样式无法加载,F12查看发现js,css等样式还是以http开头的,并且提示 This request has been blocked; the content must be served over HTTPS,因为HTTPS 承载的页面上不允许... -
python使用代理ip访问网站
2018-01-28 00:37:16# -*- coding: UTF-8 -*- from urllib import request if __name__ == "__main__... #访问网址 url = 'http://www.whatismyip.com.tw/' #这是代理IP ip = '27.155.101.233:3128' #设置代理ip访问方式,http和https -
如何屏蔽所有国外ip,禁止国外IP访问网站
2019-06-28 15:45:00众说周知一般的CC攻击DDOS攻击等大范围的网络攻击都来自境外,但是如何能大批量的屏蔽国外ip,禁止国外IP访问网站应该怎么做,相信大家都会说加黑名单啊,但是很多人可能还不知道怎么添加黑名单,黑名单的操作也是... -
JS屏蔽地区(城市)访问网站以及屏蔽PC端访问
2018-07-27 13:02:48JS屏蔽地区(城市)访问网站 <script type='text/javascript'> String.prototype.GetValue= function(para) { var reg = new RegExp('(^|&)'+ para +'=([^&]*)(&|$)'); ... -
服务器配置禁止某个IP访问网站
2018-08-03 18:00:57有IP刷网站,想封掉这个IP,不让他打开网站。查资料,网上很多人说 /etc/hosts.deny 可以实现。其实是不行的。又不想用 iptable,感觉太麻烦。直接查 nginx阻止ip访问的办法。 首先建立下面的配置文件放在 ... -
Flask 如何通过外网ip访问网站
2018-10-31 13:07:00第一种情况,不添加host参数,只指定端口 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "...运行后,这种情况是无法通过外网访问的,直接访问时会出现ERR... -
AWS EC2部署网站后,在EC2中使用localhost可以访问网站,但是外网和EC2上使用ip无法访问网站
2019-05-06 15:06:241.AWS EC2控制台,新建安全组,开放inbound和outbound端口 2.EC2防火墙的入站规则配置; 进入Windows防火墙--高级设置--入站规则--新建规则--端口--本地特定端口:90--允许连接 ... -
电脑可以正常访问,手机不能访问网站,而用域名地址访问却可以?
2017-01-19 02:45:57部署了个网站很久了,电脑域名访问和地址访问都正常,手机只能地址访问,域名访问不了,请问这是什么问题?跪求。 和阿里云接入备案有关系吗? -
宝塔面板设置禁止通过IP直接访问网站防止恶意解析
2018-09-04 19:02:47今天这篇文章主要是说一下怎么使用宝塔面板来操作禁止通过 IP 直接访问我们的网站防止被恶意解析,当然独立安装的也是同理。 什么是恶意解析? 恶意解析是指有人通过域名 A 记录直接解析自己 IP 地址,从而得到一... -
阿里云服务器域名nginx配置ssl证书后无法访问网站
2019-07-24 16:30:17按照阿里云帮助中心的文档所说去部署后,发现网站无法访问了 解决思路 确定还没配置前http的能正常访问 配置证书并重启nginx后无法访问了 最后确定是端口阿里的安全组那里并没开启443端口允许,导致的无法正常...