(转)建站知识:域名/ 空间/ IP/ 端口之间的关系
先说域名解析吧,比如说你的域名是 www.sunnymould.com,这个域名对应着一个IP地址,域名解析就是把上面的域名转换成这个IP地址的过程,这样你就可以域名访问了上面地址上的内容了。
端口映射就是说,当你访问 www.sunnymould.com的时候,其实就是访问了一个IP地址的某个端口,而这个IP地址后面也许存在着一个局域网,这样我们就要指定网络访问这个IP的端口时候,指向哪个服务器(就是说WEB服务器是内网的哪个IP地址),比如内网WEB服务器地址为192.168.37.4,这样我们就需要在路由器中把 80端口指向这个内网IP。文件传播的过程我不懂怎么说,一般来说文件传播使用的是FTP协议,TCP协议也有。详细情况你就要看看具体的书。
内网IP端口映射到外网IP的端口

端口映射分为动态和静态。
比喻:端口映射过程就如同:你家在一个小区里B栋2410室,你朋友来找你,找到小区门口,不知道你住哪层哪号?
将域名解释到服务器地址的非80端口
隐藏路径的域名转发: 访问域名,自动跳转到指定的网络路径后,浏览器的地址栏里显示的地址显示的地址保持不变,但实际访问到的是跳转后的内容。
配置nginx,网站只有在域名或IP后添加端口才能顺利访问
- server {
- listen 8083 ;
- server_name 域名;
- location / {
- index index.html index.htm index.jsp;
- #proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://127.0.0.1:8081/;
- }
- }
直接通过域名无法访问,加个8081端口之后就能顺利访问了,直接IP+端口的方式也可以。
防火墙添加-A INPUT -p tcp -m tcp --dport 8083 -j ACCEPT之后,可以通过一直访问网站。
域名的二级域名映射到内网IP提供Web服务
www.oa.abc.com 解析到OA公网的IP:8181地址即可。
内网的IP地址和互联网的域名绑定
1.登陆你的路由器,就是带你局域网内主机上网的设备。查看他所拥有的IP地址。
2.在你申请域名的网站上填写相关参数,使其域名和IP(公网)对应。
3.在路由器上DDNS上将域名和你路由器的外网IP绑定。做完这三个步骤,外网就可以通过该域名访问到你的路由设备了。但是仍不是你的服务器。那么继续
4.在路由器上虚拟服务器或者端口映射(一个功能的不同叫法)中,将你服务所需要开放的端口映射出去,同时映射80端口(否则在访问时需要在域名后加端口号如:http://woaijigeci.com.cn:1653,如果把80也映射出去,直接输入域名就好了,对于一些用户你跟他说端口他也不懂)。添加相应规则。
5.完成以上步骤,就可以实现你说的功能了。
外网到内网端口映射
在路由器中找到DMZ选项,指定DMZ的地址为你要链接的主机局域网IP地址就可以。
二级域名映射到内网服务器IP端口
内网一台服务器的IP已经映射到公网IP了,80端口到80端口,现在公网IP也做了二级域名解析,想让不论在外网还是在内网的电脑都能通过用二级域名访问服务器应该怎么弄啊?
满意回答
内部需要做DNS,如果使用域控的话,只需要在DNS中添加个域名解析就可以,如果没有就需要新建DNS服务了,比较麻烦,也可以直接在防火墙中做一个允许这个域名的所有连接策略即可。
怎么在一个ip上绑定多个域名
现在我们有一台Windows 2000 Server服务器,在这台服务器上要建立默认站点“教师之家”和新增站点“学生天地”(建立更多网站原理相同),下面我们分别探讨三种不同的实现途径。
途径一 TCP端口法
我们知道Web站点的默认端口一般为80,如果改变这一端口,就能实现在同一服务器上新增站点的目的。
假设服务器名为Master,安装有一块网卡,IP地址为192.168.0.1,那么安装IIS后会自动生成一个默认Web站点,我们就将其作为“教师之家”网站。点击“开始”→“程序”→“管理工具”→“Internet服务管理器”,出现“Internet信息服务”窗口(请见附图)。右键单击“默认Web站点”,选择“属性”进行设置。在“Web站点标识”中,将说明改为“教师之家”,IP地址选择192.168.0.1,TCP端口保持默认的80不变。将制作好的网站文件拷贝到默认目录中,“教师之家”的设置就算完成了。
测试一下效果,在浏览器地址栏中输入http://192.168.0.1(默认的端口号80可以省略),回车,我们将访问到“教师之家”站点。输入http://192.168.0.1:1050(注意IP地址后的端口号一定不能少),则会出现“学生天地”站点。遗憾的是,采用这种方式设置的多站点无法与DNS结合使用。
途径二 IP地址法
一般情况下,一块网卡只设置了一个IP地址。如果我们为这块网卡绑定多个IP地址,每个IP地址对应一个Web站点,那么同样可以实现“一机多站”的目的。
点击“开始”→“设置”→“控制面板”,双击“网络和拨号连接”,右键单击“本地连接”,选择“属性”调出“本地连接属性”面板,选择“Internet协议(TCP/IP)”,点击“属性”调出“Internet协议(TCP/IP)属性”面板,点击下方的“高级”调出“高级TCP/IP设置”面板。在IP地址栏下面列出了网卡已设定的IP地址和子网掩码,点击[添加]按钮,在弹出的对话框中填上新的IP地址(如192.168.0.2,注意不能与其他机器的IP地址重复),子网掩码与原有的相同(如255.255.255.0)。然后依次[确定],就完成了多个IP地址的绑定。
按照上例中的做法设置默认站点“教师之家”,然后我们来增加“学生天地”站点。在“Internet信息服务”窗口中单击选定主机名Master,选择“操作→“新建”→“Web站点”,出现“Web站点创建向导”窗口,依次点击[下一步],将站点说明定为“学生天地”,IP地址选择192.168.0.2(注意不能与默认站点的IP地址相同),TCP端口保持默认的80不变,选定主目录,设置好访问权限,“学生天地”站点的设置完成。
分别在浏览器地址栏中输入http://192.168.0.1和http://192.168.0.2,测试一下效果。如果您嫌通过输入IP地址访问站点不够方便的话,完全可以通过设置DNS,用http://www.teacher.com代替http://192.168.0.1来访问“教师之家”,用http://www.student.com代替http://192.168.0.2来访问“学生天地”。
途径三 主机头法
在不更改TCP端口和IP地址的情况下,同样可以实现“一机多站”,这里我们需要使用“主机头名”来区分不同的站点。
所谓“主机头名”,实际上就是指www.student.com之类的友好网址,因此要使用“主机头法”实现“一机多站”,就必须先进行DNS设置。在DNS中设置http://www.teacher.com和http://www.student.com两个网址,将它们都指向惟一的IP地址192.168.0.1。
按照以上两例中的做法首先设置默认站点“教师之家”,由于是默认站点,因此基本无需进行特别设置。然后参考以上两例进行添加“学生天地”站点的操作,IP地址选择192.168.0.1,TCP端口保持默认的80不变,“此站点的主机头”一项一定要填上www.student.com,然后选定主目录,设置好访问权限,“学生天地”站点的设置完成。
分别在浏览器地址栏中输入http://www.teacher.com和http://www.student.com两个网址,测试效果。与上两例不同的是,用“主机头法”实现的“一机多站”必须使用友好网址才能访问。以上三种方式,您可以根据具体情况选择使用。如果服务器安装有两块以上的网卡,同样可以采用“IP地址法”为每块网卡指定不同的IP地址,从而实现“一机多站”。
Apache服务器同一IP绑定多个域名
DocumentRoot /www/mainserver
# 这是另外一个IP地址
DocumentRoot /www/example1
ServerName www.example.com
# 你可以在这里添加其他指令 ...
ServerName www.example.org
# 你可以在这里添加其他指令 ...
任何不是针对172.20.30.50的请求都将由主服务器来伺服。而提交给172.20.30.50却没有主机名或没有”Host:”头的请求,都将由ww.example.com伺服。
在不同的IP的地址(比如一个内部和一个外部地址)上提供相同的内容
服务器有两个IP地址(192.168.1.1和172.20.30.40)。这个机器位于内部(局域网)网络和外部(广域网)之间。在外部,域名server.example.com指向外部地址(172.20.30.40),而在内部则指向内部地址(192.168.1.1)。
服务器可以为来自内部和外部的请求提供同样的内容,您只需要一个配置段就可以了。
服务器配置
NameVirtualHost 192.168.1.1
NameVirtualHost 172.20.30.40
DocumentRoot /www/server1
ServerName server.example.com
ServerAlias server
现在,从不同的网络提交的请求都会由同一个段来伺服。
注意
在内网中,您可以使用server这个名字来代替server.example.com这个全名。
跟上面一样,在上述的例子里,您可以用”*”来代替具体的IP地址,这样就可以对所有的地址都返回相同的内容了。
在不同的端口上运行不同的站点
如果您想让同一个IP的不同端口伺服多个域名。您可以借助在NameVirtualHost指令中定义端口的方法来达到这个目的。如果您想使用不带”name:port”的或是直接用Listen指令,您的配置将无法生效。
服务器配置
Listen 80
Listen 8080
NameVirtualHost 172.20.30.40:80
NameVirtualHost 172.20.30.40:8080
ServerName www.example.com
DocumentRoot /www/domain-80
ServerName www.example.com
DocumentRoot /www/domain-8080
ServerName www.example.org
DocumentRoot /www/otherdomain-80
ServerName www.example.org
DocumentRoot /www/otherdomain-8080
建立基于IP的虚拟主机
一个有两个IP地址(172.20.30.40和172.20.30.50)分别对应域名www.example.com和www.example.org的配置如下:
服务器配置
Listen 80
DocumentRoot /www/example1
ServerName www.example.com
DocumentRoot /www/example2
ServerName www.example.org
如果存在主服务器,那么对没有出现在任一个段中的请求(比如,对localhost的请求)都会由主服务器来伺服。
混用基于端口和基于IP的虚拟主机
如果您的服务器有两个IP地址(172.20.30.40和172.20.30.50)分别对应域名www.example.com和www.example.org 。对每个域名,您都希望在80端口和8080端口发布您的网站。您可以这样配置:
服务器配置
Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080
ServerName www.example.com
DocumentRoot /www/example1-8080
ServerName www.example.com
DocumentRoot /www/example2-80
ServerName www.example.org
DocumentRoot /www/example2-8080
ServerName www.example.org
混用基于域名和基于IP的虚拟主机
您想在一些地址上配置基于域名的虚拟主机而在另外一些地址上配置基于IP的虚拟主机。
服务器配置
Listen 80
NameVirtualHost 172.20.30.40
DocumentRoot /www/example1
ServerName www.example.com
DocumentRoot /www/example2
ServerName www.example.org
DocumentRoot /www/example3
ServerName www.example3.net
# IP-based
DocumentRoot /www/example4
ServerName www.example4.edu
DocumentRoot /www/example5
ServerName www.example5.gov
将和mod_proxy模块一起使用
下面的例子允许一个前端机器代理一个运行在其他机器上的虚拟主机。在如下示例中,在192.168.111.2机器上配置了一个同名的虚拟主机。这样,万一在同一台机器上代理了多个主机名,ProxyPreserveHostOn 指令能确保指定的主机名顺利通过代理。
ProxyPreserveHost On
ProxyPass / http://192.168.111.2
ProxyPassReverse / http://192.168.111.2/
ServerName hostname.example.com
使用”_default_”虚拟主机
为所有端口配置”_default_”虚拟主机
这样配置可以捕获所有指向没指定的IP地址和端口的请求。比如:一个没被任何虚拟主机使用的地址/端口对。
服务器配置
DocumentRoot /www/default
这样一个使用通配符端口的默认虚拟主机可以有效的防止请求被主服务器接收。
如果一个地址/端口对已经被一个基于域名的虚拟主机使用,那么”_default_”虚拟主机决不会处理发向这个地址/端口对的请求。如果一个”Host:”请求头中包含未知信息,或者干脆就没有,那么它会被第一个基于域名的虚拟主机(也就是在配置文件中最先出现的使用了那个地址/端口对的虚拟主机)处理。
您可以用AliasMatch或RewriteRule来重写任何请求,使它指向一个简单信息页面(或脚本)。
为不同的端口配置”_default_”虚拟主机
与第一种一样,但我们想让服务器侦听很多端口而第二个”_default_”虚拟主机单独侦听80端口。
服务器配置
DocumentRoot /www/default80
# ...
DocumentRoot /www/default
# ...
侦听80端口的”_default_”虚拟主机(必须出现在所有使用通配符端口的虚拟主机之前)会捕获所有发向一个未指定的IP地址的请求。主服务器将不会用于伺服任何请求。
为单独一个端口配置”_default_”虚拟主机
如果我们只想在80端口上建立唯一的一个”_default_”虚拟主机,我们应该这样配置:
服务器配置
DocumentRoot /www/default
...
发向一个未指定地址的80端口的请求将会由这个虚拟主机伺服;而发向未设定地址的其他端口的请求则由主服务器伺服。
将一个基于域名的虚拟主机移植为一个基于IP的虚拟主机
如果一个具有ww.example.org域名的虚拟主机(就是基于域名配置示例中的第二个)得到了自己的IP地址。为了避免一些域名服务器或代理服务器在移植期间仍对这个域名做老的解析,我们可以采用一种过渡方法:同时提供新旧两个IP地址的解析。
达到这个目的很简单。因为我们只要简单的把新地址(172.20.30.50)加入VirtualHost指令就行了。
服务器配置
Listen 80
ServerName www.example.com
DocumentRoot /www/example1
NameVirtualHost 172.20.30.40
DocumentRoot /www/example2
ServerName www.example.org
# ...
DocumentRoot /www/example3
ServerName www.example.net
ServerAlias *.example.net
# ...
现在这个虚拟主机就可以用新地址(表现为一个基于IP的虚拟主机)和旧地址(表现为一个基于域名的虚拟主机)同时进行访问了。
使用ServerPath指令
如果我们在同一个服务器上运行了两个基于域名的虚拟主机。为了匹配正确的虚拟主机,客户端必须发送正确的”Host:” 头。而旧的使用HTTP/1.0的客户端无法发送这样的头,这样Apache就无法辨别客户端想要连接哪个虚拟主机(会用主虚拟主机来伺服这个请求)。为 了尽量提供向下兼容性,我们可以提供一个主虚拟主机来返回一个页面,在页面中加入指向基于域名的虚拟主机的URL前缀的链接。
服务器配置
NameVirtualHost 172.20.30.40
# 主虚拟主机
DocumentRoot /www/subdomain
RewriteEngine On
RewriteRule ^/.* /www/subdomain/index.html
# ...
DocumentRoot /www/subdomain/sub1
ServerName www.sub1.domain.tld
ServerPath /sub1/
RewriteEngine On
RewriteRule ^(/sub1/.*) /www/subdomain$1
# ...
DocumentRoot /www/subdomain/sub2
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
RewriteRule ^(/sub2/.*) /www/subdomain$1
# ...
由于ServerPath指令的作用,发送到htp://www.sub1.domain.tld/sub1/的请求总会被sub1-vhost所伺服。
如果客户端发送了正确的”Host:”头,发送到htp://www.sub1.domain.tld、的请求只会被sub1-vhost所伺服。如果没有发送”Host:”头,客户端将会得到从主虚拟主机发送的信息页面。
请注意,这里还有一点小问题:如果客户端没有发送”Host:”头,发送到http://www.sub2.domain.tld/sub1/的请求还是会被sub1-vhost所伺服
(转)建站知识:域名/ 空间/ IP/ 端口之间的关系的更多相关文章
- DNS工作流程及原理 域名、IP与DNS的关系
转自:http://blog.csdn.net/maminyao/article/details/7390208 一.DNS服务概述 DNS是Domain Name System的缩写,即域名系统.其 ...
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库 ...
- Oracle 数据库、实例、用户、表空间、表之间的关系
数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库. ...
- Nginx80端口转发+域名——实现IP+端口隐藏
一.目的1.相信大家会遇到这样的问题:当一台服务器部署多个tomcat应用时,当我们访问tomcat时,需要在浏览器中输入服务器IP+端口号,这看起来非常的low. 二. 环境 1台服务服务器 假如I ...
- C# 判断域名或ip+端口号 是否能正常连接?
private static ManualResetEvent TimeoutObject = new ManualResetEvent(false); /// <summary> /// ...
- 万网免费主机wordpress快速建站教程-域名绑定及备案
进入主机管理界面,点击管理 点击域名绑定,绑定域名项选择已有域名,选择已购买的域名,点击一键解析域名,点击添加,即可完成域名解析工作. 由于没有备案,备案状态显示为未备案,点击旁边的备案链接,跳转至阿 ...
- 万网免费主机wordpress快速建站教程-域名申请
在上一篇文章中,小伙伴们已经申请好了万网的免费主机,接下来教大家如何申请域名. 由于万网免费主机要绑定在阿里备案的域名,现在以万网的域名注册为例子. 首先进入万网域名注册页面(http://www.n ...
- php 建站 多域名配置 自定义重定向
1. 申请一个域名 , 当多个域名使用. 比如 申请一个顶级域名为 .com 后缀的一级域名 :mine.com, 一般允许绑定四五个二级域名,比如 www.mine.com . mine.mine ...
- 域名、IP地址、URL关系
域名是个文字形式记录的IP地址 IP地址是计算机在网络中的门牌号! URL是网页地址 例如1: http://zhidao.baidu.com/question/14674128.html 是URL ...
随机推荐
- 使用engine关键字指定该表使用哪个engine
建表及插入数据语句:mysql> create table salary(userid int,salary decimal(9,2));Query OK, 0 rows affected (0 ...
- matplotlib 安装与使用
1.在ubuntu下输入 sudo apt-get install python-matplotlib 安装matplotlib 2.简单代码使用
- response的Writer输出数据的问题
package cn.itcast.response; import java.io.IOException; import java.io.OutputStream; import java.io. ...
- Apache Spark技术实战之7 -- CassandraRDD高并发数据读取实现剖析
未经本人同意,严禁转载,徽沪一郎. 概要 本文就 spark-cassandra-connector 的一些实现细节进行探讨,主要集中于如何快速将大量的数据从cassandra 中读取到本地内存或磁盘 ...
- 使用 JavaScript 实现基本队列、优先队列和循环队列
1.基本队列的实现 基本队列的方法中,包含了 ①向队列(尾部)中添加元素(enqueue).②(从队列头部)删除元素(dequeue).③查看队列头部的元素(front).④查看队列是否为空(isEm ...
- oracle课堂笔记
1.DOS登录1.1.sqlplus 输入用户名.密码1.2.sqlplus /nolog conn 用户名/密码@ip地址/数据库名称 [如果是sys登录则必须加上as sysdba ,as sys ...
- HDFS的概念
1.数据块 每个磁盘都有默认的数据块大小,这是磁盘进行数据读/写的最小单位.构建于单个磁盘之上的文件系统通过磁盘块来管理该文件系统中的块,该文件系统块的大小可以是磁盘块的整数倍.文件系统快一半为几千字 ...
- HTML DOM基础知识
HTML DOM基础知识 一.什么是DOM? 1.HTML DOM 定义了访问和操作HTML文档的标准方法. 2.HTML DOM 把 HTML 文档呈现为带有元素.属性和文本的树结构(节点树). 3 ...
- CodeMirror很好用
基于Javascript的web的文本编辑器 各种强大 支持多种语言的语法高亮, 多种主题 vim ,emacs 快捷键
- SQL-乐观锁,悲观锁之于并发
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...