别出心裁:实现域名到端口的映射-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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

简介:
别出心裁:实现域名到端口的映射
 
问题的提出:
很多软件都自带一个web服务器,例如alfresco,它自带tomcat,启动以后访问
http://服务器IP:8080/alfresco 就可以访问主页
 
对于生产环境下,我们的一般使用域名访问,所以访问的形式就变为
http://服务器域名:8080/alfresco
作为用户来讲,这个URL地址包含了域名,端口,目录,是相当难以记忆的.
我们知道域名系统是基于IP的地址映射系统,它的出现就是为了解决ip地址难以记忆的问题,而一般的web服务器都支持每个域名对应一个网站(也就是服务器上的一个网站目录).apache的配置里面这被称之为基于名称的虚拟主机.
 
现在问题来了,我现在给alfresco专门申请了一个域名cms.test.com,希望实现的的是访问[url]http://cms.test.com[/url]  看到的就是alfresco的主页.
一般域名对应的是ip,如何对应到端口,甚至对应到某个网页.在这种情况下,以系统管理的知识,至多实现访问[url]http://cms.test.com:8080[/url] 就到了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>
 
然后你访问[url]http://cms.test.com[/url] 看看,大功告成!
 
原理也十分简单
当访问[url]http://cms.test.com[/url]实际访问的就是/var/www/html/alfresco.html这个网页文件,这个文件的功能是自动重定向到[url]http://cms.test.com:8080/alfresco/[/url]


本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/55980,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: