前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CloudFlare + Nginx反代 + Nginx 实现 nat vps 搭建博客

CloudFlare + Nginx反代 + Nginx 实现 nat vps 搭建博客

作者头像
SweetHunter
发布2020-05-11 17:40:00
6K0
发布2020-05-11 17:40:00
举报
文章被收录于专栏:FinalBoyFinalBoy

吐槽

好吧,我知道前缀实在有点多。但是既然是折腾,那么越麻烦,折腾成功后就越快乐。

前由

月前,在 gullow上买了个年付 2$ 的 nat 小鸡,但是国内不能正常访问。但是呢,又想着在这个袖珍 vps 上搭建个小博客耍耍,于是想起了 cloudflare 这个神奇的 CDN 与 Nginx 反代的结合。

需要的工具:cloudflare,一台非 nat 的 vpsnat vps

是的,你没看错,是需要两台 vps 。

安装 web 环境

为了避免混淆,非 nat 的 vps 称为 Anat vps 称为 B

在 A 和 B 上都安装好 lnmp 环境,可以用宝塔或者lnmp一键安装包完成。B 的 php 版本要大于 5.3 ,否则安装 typecho 失败。可参考链接128M vps 安装lnmp

域名解析

我是在 cloudflare 进行解析的。将域名指向 A 的 ip 地址即可。

配置 A 的 nginx

添加 A 的 nginx 的 vhost 文件(宝塔在 /www/server/panel/vhost/nginx/ 文件夹下,lnmp可以用 lnmp vhost add命令,不用)。配置如下:

代码语言:javascript
复制
server
    {
            listen 80;
            server_name 域名;

            if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
            return  403;
            }

            location / {

            sub_filter_once off;
            proxy_set_header Host $host;
            proxy_pass http:// B 的ip地址:端口;
            proxy_set_header Accept-Encoding "";
            }
    }

配置文件中的 域名http://B的ip地址:端口 记得修改成自己的,端口在服务商给nat小鸡分配的端口范围之内,并且没被使用就行。配置完成后,记得重启 nginx

配置 B 的 nginx

B 的 nginx 的 vhost 文件配置如下(此为lnmp一键安装环境的配置,注意不要选择安装证书):

代码语言:javascript
复制
server
{
    listen 端口;
    #listen [::]:80;
    server_name 域名 ;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/nat.ikls.tk;

    include rewrite/typecho.conf;
    #error_page   404   /404.html;

    # Deny access to PHP files in specific directory
    #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

    include enable-php-pathinfo.conf;

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {   
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {   
        expires      12h;
    }

    location ~ /.well-known {
        allow all;
    }

端口和域名填跟上一步一样的。重启nginx

上传安装文件到网站目录

我的目录在 /home/wwwroot/nat.ikls.tk 下,并且要安装的是 typecho 。把 typecho 安装文件解压后,然后直接访问域名。

完成搭建

按照 typecho 搭建步骤安装。

可以看到,网站搭建完成。直接访问 http://nat.ikls.tk/ 即可。

代码语言:javascript
复制
当然这只是一个搭建记录,照葫芦画瓢,了解原理可以创造更多好玩的应用。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 吐槽
  • 前由
  • 安装 web 环境
  • 域名解析
  • 配置 A 的 nginx
  • 配置 B 的 nginx
  • 上传安装文件到网站目录
  • 完成搭建
相关产品与服务
NAT 网关
NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档