实现域名到端口的映射
问题的提出:
很多软件都自带一个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条评论!