备案网站内容(前段时间机房突然通知公司几个网站都没备案,直接封服务器ip)
优采云 发布时间: 2022-03-01 00:06备案网站内容(前段时间机房突然通知公司几个网站都没备案,直接封服务器ip)
前段时间机房突然通知公司有几个网站没有备案,如果16:00之前不关闭网站,服务器ip会直接被封。我一问,之前的记录就放在武汉机房。9月,武汉机房被拆除,结果记录信息被删除。这就是前人留下的所有阻力。没有办法。想出一个计划。下面有两组计划:
方案一:对注册的二级域名做dns cname
方案二:转移到其他机房进行301重定向或代理,使原域名和注册二级域名都可以访问网站,双重保险
首先,第一个实施方案是简单的谈一下思路。其实就是将未注册的域名cname转为注册的二级域名。方法很简单。只需要修改dns点,如图:
例如:
未注册域名:
注册域名:
更改 DNS 记录,选择它作为临时域名,并在域名中进行如下更改:
名称
需要将这个二级域名添加到域名中,并将这个域名指向原服务器。
按照这个思路,理论上,未注册域名的根指向,这个就是记录,
这样访问就会自动访问二级域名对应的服务器。从逻辑上讲,这个是可以正常访问的,不存在归档问题,因为这个归档是做的,也就是在dns层做的跳转。,但是机房太大了,我要我的域名不能指向他们的服务器,上面点的还是他们的服务器,因为代码半天不能修改等等,网站有支付功能,所以接口,有很多回调链接。机房要求ping指向的ip不是他们的服务器,所以只能采用第二种方案。
最好找个国外的vps,只要国内的访问速度够,然后做一个301跳转,如下图:
将A记录指向国外vps,A记录指向原服务器,在vps上做nginx 301跳转到这个域名,最终用户访问原服务器,可以避免不备案被封的问题,并且程序不需要做很多改动,vps nginx配置如下:
server
{
listen 80;
server_name test.com www.test.com api.test.com cps.test.com ;
if ($host = 'www.test.com'){
rewrite ^/(.*)$ http://yeyou.abc.com/$1 permanent;
}
if ($host = 'api.test.com'){
rewrite ^/(.*)$ http://api.yeyou.abc.com/$1 permanent;
}
if ($host = 'cps.test.com'){
rewrite ^/(.*)$ http://cps.yeyou.abc.com/$1 permanent;
}
}
原来nginx的配置很简单,只需要把server_name换成;,其他什么都不需要改。用户访问流程如下:
国外VPS只有中间过渡。可以看到nginx日志中状态码为301,部分老用户访问转移到了新域名。
但是,有一个问题。所有访问的用户都会被自动重定向到它,这很不舒服。最后改为反向代理。用户仍将被重定向到原创服务器而不更改域名。具体方法如下:
vps配置如下:
原服务器nginx配置同上,只需要指向server_name,所以用户访问的流程如下:
可以在 nginx 日志中看到状态码为 200。当用户访问时,vps会自动转换为提供用户访问,对用户的体验非常好,不会在浏览器中跳转到浏览器。用户仍然使用访问网站,这对用户是透明的。
遇到的问题:
常用的nginx反向代理和上面的反向代理有什么区别?
常用的nginx反向代理配置:
## Basic reverse proxy server ##
## Apache backend for www.quancha.cn ##
upstream apachephp {
server ip:8080; #Apache
}
## Start www.quancha.cn ##
server {
listen 80;
server_name www.quancha.cn;
access_log logs/quancha.access.log main;
error_log logs/quancha.error.log;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http://apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
都是指向后端ip+端口的形式。
上面的 nginx 重定向 URL 保持不变,以域名的形式进行代理。
注意:代理服务器需要能够解析要代理的域名。
总结:目前在国内,网站如果没有记录想上网,只能这样做,写下来留着备查。