使用nginx反代实现国内服务器免备案

使用nginx反代实现国内服务器免备案

老阳
2024-07-02 / 0 评论 / 14 阅读 / 正在检测是否收录...

0. 前言

好久没写文章了,不知道写什么,刚好在知乎上看到有人说国内的服务器备案很麻烦,而且现在是越来越严格了:

image.png

一堆限制不说,可能还不成功。但是对于我来说,由于一直是购买的国外的服务器和域名,所以从来没有备过案,不过不备案也有缺点就是不能被百度收录,不过我感觉自己的文章应该大部分会是和编程相关的,现在学计算机的应该没几个人会用百度了吧,不被收录也问题不大。

但是为了让国内的访问速度更佳,很多人还是喜欢购买国内的服务器部署网站。之前我也使用过阿里云部署一个自己做的项目,如果直接将自己购买的域名 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

评论 (0)

取消