昨天在ECS服务器上搭建1套IIS服务,因为“应用程序池”没有配置,耽误了一些时间,不过,总算在下班前搞定,可以通过IP地址+端口访问这个IIS服务。

  今天上午,又通过阿里云的配置界面,把之前配置的这套业务系统的老版本的IP地址和域名的DNS解析,替换成刚刚上线的这台服务器的内网IP地址。这样,就可以通过域名+端口的方式,访问这个应用服务了。

  不过,开发还不满足。在老版本的时候,就希望我能做到不用端口也能访问。


  在上周任总来得周五,我向他请教过。他的意思是在阿里云的SLB上,加上监听功能,前端是80端口,后端是特殊端口。为此,他还专门查看了一下线上的配置,发现那台服务器上已经有80端口被占用,这样就无法再加,只能再购买1台SLB。

  这件事这几天一直困扰我,毕竟,早晚都是要做的。

  今天修改完域名解析之后,我先是尝试在SLB上加监听,结果是在浏览器并不能免端口访问。而且,配置完成后,监听界面上,新加的1条记录是有报错的。而且,我也在想:由于目前只是这1台服务器上做这样的配置,在SLB上做监听是否合适呢?而且,SLB上的报错,也提示是找不到另一台后端的服务器。


  我决定缩小范围,只在1台服务器上考虑这件事。

  在百度上搜索“阿里云 端口”,意外查到阿里云的帮助文档。其中的一篇文档帮我解决了问题(https://help.aliyun.com/knowledge_detail/40722.html——ECS Windows服务器配置端口转发功能)。


  考虑到这毕竟是线上服务器,还担心如果不成功,造成其它问题如何还原?!搜索了几篇文章,也找到删除映射的命令(http://blog.csdn.net/dearggae/article/details/45372471——[Windows]端口转发技巧)。这样,我才放心在ECS服务器上操作。


#创建端口映射【该命令的含义是:使用ipv4 to ipv4模式将源地址是xx.xxx.40.xxx(内网服务器)的9xx1端口代理到本服务器的所有地址的80端口上。】

netsh interface portproxy add v4tov4 listenaddress=* listenport=80 connectaddress=xx.xxx.40.xxx connectport=9xx1

#查看配置结果

netsh interface portproxy show all

wKioL1hh5eawnLdJAAEEZj1Aiow449.jpg

  执行后,我在自己的电脑上测试没有问题,告诉开发,他们自己的测试访问也没有问题。


  现在的问题:如果他们有1天告诉我,需要再加1台服务器做成高可用,估计前面就不得不用负载均衡了。那么的话,这个端口映射估计要删掉吧。


  参考文档:

https://help.aliyun.com/knowledge_detail/40722.html——ECS Windows服务器配置端口转发功能

http://blog.csdn.net/dearggae/article/details/45372471——[Windows]端口转发技巧

http://aofengblog.blog.163.com/blog/static/631702120148573851740/——在windows上用netsh动态配置端口转发【相当于官方手册】