内部DNS+域名跳转(目录,端口)

回复 收藏
本帖最后由 hlymlv 于 2016-3-22 14:45 编辑

安装所需包:yum list | grep bind; yum install -y bind;/etc/init.d/named start;
使用dig (dig的包 bind-utils)测试 dig @127.0.0.1/8.8.8.8(自己配的域名) localhost ;
反解析: dig @127.0.0.1 -x 127.0.0.1;

自定义域名:vim /etc/named.conf ,在最下面添加 格式如下:

zone "ulink.com" IN{
type master;
file "ulink.com.zone";};
zone "fd.net" IN {
type master;
file "fd.net.zone";
};
编辑完,使用named-checkconf 查看是否有错误,编辑 /var/named/ulink.com.zone:
$TTL 1D
@ IN SOA @ admin.ulink.com. (
           20160321 ; serial
          1D ; refresh
          1H ; retry
          1W ;  expire
          3H ) ; minimum
         IN NS     ns.ulink.com.
         IN MX 5   mail.ulink.com.
mail   IN A      192.168.10.254
ns      IN A      192.168.10.254
www  IN A      192.168.10.254
bbs  IN CNAME  www.ulink.com.

编辑 /var/named/fd.net.zone
$TTL 1D
@ IN SOA @ admin.fd.net. (
           20160321 ; serial
          1D ; refresh
          1H ; retry
          1W ;  expire
          3H ) ; minimum
             IN NS     svn.fd.net.
             IN MX 5   project.fd.net.
svn        IN A      192.168.10.254
project   IN A      192.168.10.254www     IN A      192.168.10.254
bbs         IN CNAME  www.fd.net.
编辑完后使用 named-checkzone "ulink.com" /var/named/ulink.com.zone 查看是否配置正确;
还要 vim /etc/named.conf ,在listen-on那一行加入自己监听的ip,否则无法正常解析(也可以注释掉,即监听所有ip);
需将 allow-query     { localhost; };中的localhost改为any 才能在windows上正常解析

/etc/init.d/named restart,便可以测试了;
dig @192.168.10.254 www.ulink.com/bbs.ulink.com/mail.ulink.com/ns.ulink.com

接下来将路由器的主DNS设置为服务器ip,在同一个网段的电脑就可以用域名进行访问了

域名跳转(此为yum安装的httpd,直接在httpd.conf里做更改):

NameVirtualHost *:80 (一定要加上这个,否则设置两个虚拟主机的时候就会报错)

#svn的实现svn.fd.net跳转访问svn.fd.net/svn/fangdian/svn/

ServerName svn.fd.net
DocumentRoot "/home/user/svn/fangdian/svn/"

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^svn.fd.net$
#匹配到/svn就不进行rewrite
    RewriteCond   %{REQUEST_URI} !^/svn (加上这条不会出现无限死循环)
#   RewriteRule ^/(.*)$ "http://svn.fd.net/svn/fangdian/svn/$1"[R=301,L]
    RewriteRule ^/(.*)$ "/svn/fangdian/svn/$1"[R=301,L]

#由于跳转还是会显示成这样(project.fd.net:3000),pass掉
#
#ServerName project.fd.net
#
#    RewriteEngine on
#    RewriteCond %{HTTP_HOST} ^project.fd.net$
#    RewriteRule ^/(.*)$ ":3000/$1"[R=301,L]
#
#
#redmine的代理本地的3000端口(使redmine直接访问project.fd.net即可,网页上不会显示端口)

    ServerName  project.fd.net
    ProxyPass / http://localhost:3000/
#(ProxyPassReverse的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问http://www.test.com/example/a,如果www.example.com对请求进行了redirect至http://www.example.com/b,那么,客户端就会绕过反向代理,进而访问http://www.test.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/example/a/b,即是在原请求之后追加上了redirect的路径。)
    ProxyPassReverse / http://localhost:3000/
2016-03-22 14:43 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: