公司由于备案的问题,需要将域名www.servera.com更换为www.serverb.com.
但是原先网站所有链接均指向www.servera.com,这个时候可以通过2种方法:
1.在负载均衡器增加301跳转,这样打开每个www.servera.com的链接都跳转到www.serverb.com.
比如我们的域名有
pics.servera.com
m.servera.com
item.servera.com
login.servera.com
这样就都会做跳转,但是存在一个问题就是每打开一个servera.com的链接都会做次跳转
server { listen 80; server_name pics.servera.com; location ~* / { rewrite ^(.*) http://pics.serverb.com$1 permanent; } }
以上你会发现每次都需要做跳转,响应时间长,需要多次进行网络连接。
2.在负载均衡器做域名的替换,只要出现域名是servera.com就替换成serverb.com,这样减少了网络连接,减少跳转次数
这里利用Nginx的sub模块来进行替换
在编译的时候
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module
增加红色部分
然后在需要替换的网站下添加
sub_filter servera.com 'serverb.com'; sub_filter_once off; sub_filter_types application/json application/x-javascript text/plain;
即可
默认会替换html文件,上面添加了json/js/plain格式,如果有xml的话也可以进行添加。
本文同