使用hosts文件建立健壮的网络开发/测试环境

原创 2006年05月23日 22:05:00

相信大多数朋友都为网络应用程序的部署问题伤过脑筋,本机上运行好好的程序,换台机器就出问题,或者需要更改很多相关设置。尤其是在同时编写WebService服务端和客户端的时候,程序调试是在本机进行,所以,一些网络相关的特性不能表现出来。比如,我们测试的服务器地址和真实运行的服务器地址不同。

其实这个问题,我们只需使用系统的DNS预解析来解决

windows操作系统下有一个hosts文件,系统用它来为某个域名指定IP地址,我们可以利用它来模拟一个真实的网络程序运行环境。

用文本编辑器打开hosts文件(windows系统位于x:/windows/system32/drivers/etc/下,X为系统所在盘符,文件没有扩展名),会看到类似如下内容:

------------------------------------------------------------------------------------

# Copyright (c) 1998 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP stack for Windows98
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

------------------------------------------------------------------------------------

# 开头的为注释,最后一行127.0.0.1       localhost是说将localhost指定为IP127.0.0.1,也就是我们的回路IP

因此,我们可以添加我们自己的指定IP解析,比如:

127.0.0.1     www.mywebsite.com

保存。那么在浏览器中输入www.mywebsite.com,我们会打开127.0.0.1这个IP地址。

利用该文件的好处是,IIS所接收到的请求权限完全是远程状态的,而不是本机的(为了方便调试,开发工具会对本机IP开放特殊权限),所以避免了因为开发工具对于本机IP权限放宽,导致程序移植之后无法用相应权限运行的问题。

利用这个特性,你完全可以在编写WebService的时候使用真实域名地址,这样在客户端程序调试的时候使用hosts的配置,而当程序正式上线运行的时候,将hosts文件中相应的项删掉即可。客户端编译好的模块无需再次编译。

使用Maven自动打包配置文件生成开发环境,测试环境,生产环境

写在前面项目中往往有开发环境、测试环境、生产环境,这几个环境有些配置文件可能是不一样的,三个环境切换时以前基本是靠手动注释文件来打成不同的包。如果不同的配置文件过多,粗心打包后,就会导致配置文件出错,...

win7用虚机搭建docker开发测试环境的网络配置,免去端口映射烦恼

之前有写过一篇centos6.4使用docker,使用的是NAT网络模式,外部网络想要访问容器服务,只能通过端口转发。 如果我们是在win7系统上使用虚拟机的centos6.4来安装docker做开...
  • ynhzdxc
  • ynhzdxc
  • 2017年04月23日 17:59
  • 806

asp搭建测试环境单文件版

  • 2015年08月16日 23:53
  • 693KB
  • 下载

不使用Mac机器网络使用iPhone网络搭建ipv6测试环境(cocos2dx项目苹果审核支持ipv6处理一)

不使用Mac机器网络使用iPhone网络搭建ipv6测试环境 1.正常使用Mac机器搭建ipv6的网络环境步骤简单,需要注意的是Mac需要有线连网,不能wi-fi入网,否则创建共享网络没有创建NAT...

使用CppUnit建立简单的测试环境

TDD相信很多人都了解,它是敏捷软件开发中不可缺少的一个环节,能使你编写出更高质量,使你更放心的代码(当然,并不是指使用了TDD之后,就不会出现bug,呵呵,你懂的……) 那么,要使用TDD就要有一个...

Hibernate下搭建JUNIT的测试环境,使用beforeclass和afterclass实现sessionFactory建立一次

sessionFactory建立一次除了beforeclass和afterclass,还有单例,static语句块两种方法 实体类: package com.zzk.hibernate.m...

如何建立和使用Jmeter测试环境(初学者)

一、 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。设计jmeter的初衷是测试web应用,后来又扩充了其它的功能。...

RocketMQ使用步骤--- 开发测试环境搭建及Java用例

RocketMQ使用JAVA语言编写,可以在任意安装了JRE环境的平台上运行。但,必须要运行在安装JRE64位的操作系统上,RocketMQ官方暂时不提供API文档,接口使用可参考源码中的实例代码,或...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用hosts文件建立健壮的网络开发/测试环境
举报原因:
原因补充:

(最多只允许输入30个字)