实现域名到端口的映射

问题的提出:

很多软件都自带一个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]

nginx虚拟主机域名端口映射:

server    {        listen 80;        #listen [::]:80 default_server ipv6only=on;        server_name pms.51sanu.com;        index index.html index.htm index.php;        root  /www/Zendao/www;        #error_page   404   /404.html;        include enable-php.conf;location / {           proxy_pass http://localhost:8000/;            proxy_redirect default;       }        location /nginx_status        {            stub_status on;            access_log   off;        }                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$        {            expires      30d;        }        location ~ .*\.(js|css)?$        {            expires      12h;        }        location ~ /\.        {            deny all;        }        access_log  /home/wwwlogs/access.log  access;            if (-f $request_filename/index.php){                rewrite (.*) $1/index.php;        }        if (!-f $request_filename){                rewrite (.*) /index.php;        }    }server    {        listen 8000;        #listen [::]:80 default_server ipv6only=on;        server_name pms.51sanu.com;        index index.html index.htm index.php;        root  /www/Zendao/www;        #error_page   404   /404.html;        include enable-php.conf;        location /nginx_status        {            stub_status on;            access_log   off;        }                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$        {            expires      30d;        }        location ~ .*\.(js|css)?$        {            expires      12h;        }        location ~ /\.        {            deny all;        }        access_log  /home/wwwlogs/access.log  access;            if (-f $request_filename/index.php){                rewrite (.*) $1/index.php;        }

        if (!-f $request_filename){                rewrite (.*) /index.php;        }    }

默认分类 2020-01-16 11:02:57 通过 网页 浏览(2118)

共有0条评论!

发表评论