0. 前言
好久没写文章了,不知道写什么,刚好在知乎上看到有人说国内的服务器备案很麻烦,而且现在是越来越严格了:
一堆限制不说,可能还不成功。但是对于我来说,由于一直是购买的国外的服务器和域名,所以从来没有备过案,不过不备案也有缺点就是不能被百度收录,不过我感觉自己的文章应该大部分会是和编程相关的,现在学计算机的应该没几个人会用百度了吧,不被收录也问题不大。
但是为了让国内的访问速度更佳,很多人还是喜欢购买国内的服务器部署网站。之前我也使用过阿里云部署一个自己做的项目,如果直接将自己购买的域名 DNS 解析到国内的服务器访问的时候会显示一个未备案的页面(好像是这样的有点忘了)。
下面是我多次尝试摸索出来的一个方法,可以实现免备案使用域名访问国内云服务器上的服务。
1. 准备
- 一台国外的云服务器(对配置没有要求,只要能用就行)
- 一个域名(建议在国外的域名提供商购买,我没在阿里云这些地方买过所以也不知道能不能成功)
有人可能会问了我都有服务器了还要再买一台那不是。。。是这样没错,如果你是一个小博客不想备案建议直接买国外服务器算了,但是如果对服务器在国内的网络延时有比较高的要求、不希望使用国外的服务器的再购买一个 10 美元 1 年的便宜服务器应该也能接受了。
2. 安装 nginx
在国外的那台云服务器上安装,以 Ubuntu 为例:
sudo apt install nginx
3. 编写 nginx 配置文件
nginx 配置文件的路径 /etc/nginx/nginx.conf
打开文件之后在 http 后后面的{}里加上:
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass 国内服务器的ip+port;
}
}
注意这个 server 是处于 http 的下一级的,一定要在 http 的大括号里,可以使用 nginx -t 检查配置文件的格式,如果没有错误就可以重启服务了:
service nginx restart
之后就可以直接使用域名访问国内服务器了,也不会被拦截显示未备案的警告。
4. 总结
这个方法总结下来就是标题中说的使用 nginx 的方向代理来实现免备案,具体原理有时间我再写一篇文章。
文章内容有什么错误望指正 ⭐️
评论 (0)