注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 LCS2005客户端配置详解:L..
 帮助

别出心裁:实现域名到端口的映射


2007-12-20 16:13:23
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yahoon.blog.51cto.com/13184/55980
别出心裁:实现域名到端口的映射
 
问题的提出:
很多软件都自带一个web服务器,例如alfresco,它自带tomcat,启动以后访问
http://服务器IP:8080/alfresco 就可以访问主页
 
对于生产环境下,我们的一般使用域名访问,所以访问的形式就变为
http://服务器域名:8080/alfresco
作为用户来讲,这个URL地址包含了域名,端口,目录,是相当难以记忆的.
我们知道域名系统是基于IP的地址映射系统,它的出现就是为了解决ip地址难以记忆的问题,而一般的web服务器都支持每个域名对应一个网站(也就是服务器上的一个网站目录).apache的配置里面这被称之为基于名称的虚拟主机.
 
现在问题来了,我现在给alfresco专门申请了一个域名cms.test.com,希望实现的的是访问http://cms.test.com  看到的就是alfresco的主页.
一般域名对应的是ip,如何对应到端口,甚至对应到某个网页.在这种情况下,以系统管理的知识,至多实现访问http://cms.test.com:8080 就到了alfresco主页.讨厌的端口始终去不掉.
 
而身边如果有位html开发人员的话,几条语句就可以搞定了.实现方法如下
apache 里面(这个apache要求是正在监听80端口的那个),cms.test.com这个域名设置一个虚拟主机,内容大致如下:
<VirtualHost *:80>
 DocumentRoot "/var/www/html"
 ServerName cms.test.com
 DirectoryIndex alfresco.html
</VirtualHost>
 
然后在/var/www/html目录下创建文件alfresco.html,给文件添加如下内容
<html>
<head>
<meta http-equiv="REFRESH" content="0; URL=http://cms.test.com:8080/alfresco/">
</head>
<body>
</body>
</html>
 
然后你访问http://cms.test.com 看看,大功告成!
 
原理也十分简单
当访问http://cms.test.com实际访问的就是/var/www/html/alfresco.html这个网页文件,这个文件的功能是自动重定向到http://cms.test.com:8080/alfresco/

本文出自 “yahoon的小屋” 博客,请务必保留此出处http://yahoon.blog.51cto.com/13184/55980





    文章评论
 
2007-12-20 17:37:55
哦 运用虚拟主机了

2007-12-25 20:02:42
apache有代理功能啊,楼主应该不知道吧.

ProxyPass可以解决你的这个问题

2008-02-26 13:56:39
哈哈 我确实不知道啊 要多向你讨教讨教

2008-07-15 13:03:57
通过地址映射也可以解决此问题.比如cms.test.com对应的是公网地址A,而服务器是私网地址B,那么服务器上开放的web端口是8080,只需要做A:80到B:8080的地址映射就可以!当然,这个方法有环境的局限!

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: