使用Nginx设置反向代理,可提高视频网站的访问及加载速度

 Moe @ 2019-06-13 22:50:46

说明: 由于很多独立服务器,都是欧洲的性价比最高,比如HETZNER等,但都有一个缺点,和国内的网络连接不好,会造成访问等很慢;这里我们就借助Nginx的高性能,高并发等优势在新服务器上对源站进行反向代理,可以间接的提高国内的网络连接情况。

反代原理

简单点说,就是你访问反代服务器,反代服务器会去请求你网络不好的源站,然后再把你请求的结果返回给你,间接来说,也等于你直接访问源站。

这里要说的由于没有墙的干扰,国外服务器之间访问都是非常快的,所以只需要你和反代服务器之间网络连接好就够了,当然服务器带宽也是很重要的,尽量选择G口带宽。

安装

这里对服务器之间举个例子:

#服务器信息
反代服务器称为A、该服务器和你的网络连接必须要好,不然反代就没意义了。
源站服务器称为B、也就是你用来安装转码的服务器

#站点访问信息
这里添加的反代域名为test.yzm.pw,也就是你最终要访问的域名地址。
源站程序的访问地址,比如高级版为http://1.2.3.4:3000

下面就选择使用宝塔来操作,原因很简单,操作方便,很适合对Linux操作不熟悉的新手。

先在反代服务器A上安装宝塔,宝塔安装命令:

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

然后进入宝塔面板,点击左侧软件商店-找到Nginx,点击安装即可,只需要安装这一个即可。

然后点击左侧网站,添加一个域名即可,只需要填域名即可,其它选项没卵用。

x.png

然后点击域名设置-ssl-申请3个月免费的let's证书-点击强制SSL(不喜欢给网站添加SSL的可以跳过该步骤)。

x2.png

然后点击站点配置文件,进行以下修改:

x3.png

代码参数如下,请自行替换下面的反代域名和程序运行地址。

#开启SSL后的配置文件
server
{
    listen 80;
    listen 443 ssl http2;
    server_name test.yzm.pw;
    
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    ssl_certificate    /www/server/panel/vhost/cert/test.yzm.pw/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/test.yzm.pw/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    charset utf-8,gbk;
    location / {
       sub_filter 1.2.3.4:3000 test.yzm.pw;
       sub_filter_once off;
       proxy_set_header Accept-Encoding "";
       proxy_pass http://1.2.3.4:3000/;
       proxy_redirect off;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

#未开启SSL的配置文件,请替换下面的反代域名和程序运行地址为你自己
server
{
    listen 80;
    server_name test.yzm.pw;    

    charset utf-8,gbk;
    location / {
       sub_filter 1.2.3.4:3000 test.yzm.pw;
       sub_filter_once off;
       proxy_set_header Accept-Encoding "";
       proxy_pass http://1.2.3.4:3000/;
       proxy_redirect off;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

复制进去后,点击保存,然后去软件商店,找到Nginx重载配置即可。

最后打开反代域名就可以了,该反代参数适用于纯净版、高级版、开源版程序,其它程序可能会不适用。其实还可以在反代参数基础上加点缓存,我们可以拿来自建CDN服务器,这个教程以后再说。

回复