<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[EMLOG]]></title> 
<description><![CDATA[使用emlog搭建的站点]]></description>
<link>https://925000.xyz/</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
    <title>nat机器到底怎么套cloudflare，全方位解读</title>
    <link>https://925000.xyz/post/5</link>
    <description><![CDATA[<p>文章来自：<a href="https://www.nodeseek.com/post-44-1">https://www.nodeseek.com/post-44-1</a></p>
<p>众所周知，Nat机器由于大量用户公用一个ipv4，很容因很容易被照顾，因此通常需要借助使用cloudflare使用。但是很多新手对如何套cloudflare一头雾水，即使是老手对于一些新的cloudflare特性也不是非常了解。还有一些朋友发现，其nat服务商的ipv6给的是Hurricane Electric的网络地址，早年cloudflare为了避免滥用“cf-he”接入方式完全禁止了HE的ipv6网段，因此失去了下面要讲的第一种方法的可能性，但这种情况下仍然可以成功利用cloudflare的，只是很多人不清楚，因此这里关于“套cloudflare”进行一下总结。</p>
<p>套cloudflare其实是一个很土的说法，其实就是利用cloudflare作为CDN，当发起一个http(s)请求的时候，先由cloudflare接受，然后转发到nat服务器。考虑到cloudflare作为网络基础设施，其被照顾的影响过于复杂因此很难直接照顾。</p>
<p>为什么nat机器不好套cloudflare呢，是很多人习惯了直接用vps的公网ipv4接入cloudflare，但是nat是没有ipv4的，无法直接接入。还有一些服务商提供了ipv6 only的服务器，直接没有ipv4地址，更需要特殊对待。针对不同的情况，有几种变通策略。</p>
<h2>使用ipv6接入</h2>
<p>最常见的，很多人第一反应就是使用ipv6接入，也就是添加AAAA解析。<br />
常见的nat商家（比如gullo/webhorizon/natvps.uk等）都是提供nat v4 + 独立ipv6地址的，因此虽然无法直接使用共享ipv4的80/443端口进行接入，但是可以使用独立ipv6接入，毕竟ipv6是独享的所有端口皆可以使用。如下图所示就是接好了。</p>
<p>这种接入方法是最容易想到，也是非常稳定的方案。但是有几种情况不能使用这种方法：</p>
<p>如果商家的ipv6网络是Hurricane Electric，cf禁止接入。比如gullo的部分地区（纽约等）<br />
商家不提供ipv6地址，比如最近很火的khanwebhost</p>
<h2>使用Origin Rules</h2>
<p>众所周知，nat服务器之所以被称为nat服务器，是因为ipv4地址共享，每个人只能使用部分端口。那么我们能不能使用这些端口进行接入呢。在半年前，也许答案是否定的，因为Cloudflare支持使用的非标端口很少，并且都是低位端口号，nat服务商的端口号一般都在10000以上，因此不好使用cf支持的非标端口。但是今年cloudflare免费开放了他们的Origin Rules，这允许我们使用任何端口接入到cf网络。配置如下：<br />
<img src="https://img.cmsblog.cn/i/2022/12/6395d6e716852.png" alt="1670764234199.png" /><br />
<img src="https://img.cmsblog.cn/i/2022/12/6395d6ea5e243.png" alt="1670764248899.png" /></p>
<p>注意，vps本地的http服务器（如nginx）需要监听对应的非标端口。</p>
<h2>使用服务商域名forwarding + cloudflare接入</h2>
<p>一般而言，nat机器服务商，都提供一种服务，就是域名forwarding，简单而言就是其宿主机器监听公网80/443端口，然判断收到请求的域名(host/sni)后forward到对应的nat vps实例的内网地址。</p>
<p>这种想法很好，但问题是很多他们用来监听80/443端口的公网地址阵亡了。虽然如此，这并不影响我们使用80/443端口接入cloudflare，我们仍然可以使用cloudflare添加A记录到这些宿主机器的ipv4地址，然后在服务商面板上添加域名forward规则。</p>
<p>注意，vps本地的http服务器（如nginx）需要监听对应的内网地址。<br />
<img src="https://img.cmsblog.cn/i/2022/12/6395d6e84df52.png" alt="1670764255146.png" /><br />
<img src="https://img.cmsblog.cn/i/2022/12/6395d6f20d521.png" alt="1670764259594.png" /><br />
使用Cloudflare允许的非标准端口接入<br />
cloudflare官方支持一系列非标准web端口进行接入，如果你的ipv4被照顾了，但是仍然想要接入，除了上面提到的两种方法，还可以使用Cloudflare允许的非标准端口。具体可以用的端口如下：<br />
<img src="https://img.cmsblog.cn/i/2022/12/6395d7a080567.png" alt="1670764444338.png" /></p>
<p>那么你可能会问了，这些端口我的nat机器服务商都没有对我开放，怎么办。</p>
<p>nat服务商除了提供域名映射以外，还提供端口映射，你可以把上面提到的cf支持的非标端口转发到内网ip，然后使用cf添加A记录解析，最后使用非标端口访问你的域名达到目的。只不过这种方法显得比较鸡肋，作为一种后备方案好了。</p>
<h2>使用cloudflare argo接入</h2>
<p>最后的最后，有些情况下服务商并没有提供公网ipv4/ipv6，比如pikapods的容器服务，可以使用cloudflare argo接入。限于篇幅，感兴趣的可以搜索相关教程，有时间可能会单独开一帖子介绍相关有趣玩法。</p>
<p>讲了这么多，我们论坛里面的小鸡应该使用那种方式接入呢，其没有独立ipv6，但是有很多直连端口，可以使用Cloudflare Origin Rules 接入</p>]]></description>
    <pubDate>Sun, 11 Dec 2022 21:11:26 +0800</pubDate>
    <author>emer</author>
    <guid>https://925000.xyz/post/5</guid>
</item>
<item>
    <title>手动自选ip</title>
    <link>https://925000.xyz/post/4</link>
    <description><![CDATA[<p>1.配置简单<br />
2.只需要客户端修改，可以多账号实现自选IP。<br />
3.需要保证在不自选ip的情况可以正常使用<br />
4.目前只有WS、gRPC流量支持CDN<br />
原理解析<br />
1.这里的伪装域名、SNI、Peer都是填写的自己真实的域名，当TLS验证域名进行握手时会通过这个进行握手，也就无需关心为什么address不是自己的域名但是还能TLS握手成功。<br />
2.如果既想要使用TCP+TLS又想要使用WS+TLS，则不需要开启云朵。<br />
3.不开启云朵时，当address为自己的域名时，ip解析为真实的vps服务器ip则为直连，当address为智能DNS解析的IP时，流量则会通过Cloudflare回源机制到Cloudflare服务器来实现CDN进行转发ws，则为CDN转发。<br />
4.不开云朵，自选ip同样适用于被阻断的ip。<br />
最优ip测试工具<br />
支持Linux、Windows、Android<br />
下面提供的ip，不一定适合所有人，建议使用下方的工具找到最适合自己的CDN ip。<br />
<a href="https://github.com/XIU2/CloudflareSpeedTest">https://github.com/XIU2/CloudflareSpeedTest</a><br />
<a href="https://github.com/badafans/better-cloudflare-ip">https://github.com/badafans/better-cloudflare-ip</a></p>]]></description>
    <pubDate>Sun, 11 Dec 2022 17:04:53 +0800</pubDate>
    <author>emer</author>
    <guid>https://925000.xyz/post/4</guid>
</item>
<item>
    <title>apline手工安装nginx php8 搭建typecho博客</title>
    <link>https://925000.xyz/post/3</link>
    <description><![CDATA[<p>手搓一个下午，可算弄成功了。记录一下。</p>
<p>apline 3.17  最新版只有php8.1,估计得上typecho开发版<br />
一、登陆SSH。</p>
<p>apk add nginx openssl</p>
<p>apk add php81 php81-fpm php81-opcache php81-ctype php81-pdo_sqlite php81-session php81-curl php81-pdo_pgsql php81-sqlite3 php81-mbstring</p>
<p>二、配置nginx<br />
/etc/php8/php-fpm.d/default.conf</p>
<p>自备SSL证书</p>
<pre><code class="language-js">
# This is a default site configuration which will simply return 404, preventing
# chance access to any other virtualhost.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen                  443 ssl http2;
    listen                  [::]:443 ssl http2;
    server_name             vmo.513513.xyz;
    root   /www;
    index   index.php index.html;
    client_max_body_size    32m;
    error_page              500 502 503 504  /50x.html;
    ssl                     on;
    ssl_certificate         /etc/ssl/acme/513513.xyz/server.crt;
    ssl_certificate_key     /etc/ssl/acme/513513.xyz/server.key;

  location / {
    try_files $uri $uri/ /index.php?$query_string;

  }

      location ~ \.php$ {
              fastcgi_index     index.php;
              fastcgi_pass      127.0.0.1:9000;
              include           fastcgi.conf;
        }

  #  include /etc/nginx/conf.d/ssl-params.inc; # SSL parameters

}
</code></pre>
<p>三、启动<br />
rc-service nginx restart</p>
<p>rc-service php-fpm81 restart</p>
<p>四、安装typecho<br />
略。</p>
<p>出了点小问题，登陆后台老是提示要输入用户名和密码。</p>
<p>下次把版本弄低点，或者安装typecho的开发版。</p>]]></description>
    <pubDate>Thu, 08 Dec 2022 20:45:23 +0800</pubDate>
    <author>emer</author>
    <guid>https://925000.xyz/post/3</guid>
</item>
<item>
    <title>Typecho使用cloudflare设置page Rules规则实现全站缓存</title>
    <link>https://925000.xyz/post/2</link>
    <description><![CDATA[<p>众所周知，免费版的Cloudflare可以设置3条Page Rules。<br />
我们要好好的利用这三条规则来给Typecho实现全站缓存的目的，<br />
当然这也是有弊端的，比如每次更新文章后，或者评论回复后，<br />
需要登录Cloudflare找到Caching，然后点击Purge Everything刷新全站缓存。<br />
特别是128m以内的小内存vps，设置缓存后，vps躲在Cloudflare后面相当的安全了。</p>
<p>推荐不需要交互，和偶尔更新的Typecho博客使用，添加后访问效果显著。<br />
第一条：<br />
If the URL matches：<em>sbblog.cn/admin</em><br />
注意如果还需要用二级域名建站并不需要缓存，sbblog.cn前面的*号就要换成主域名<br />
Security Level：High<br />
Cache Level：Bypass<br />
Disable Apps<br />
Disable Performance</p>
<p>第二条：<br />
If the URL matches：<em>sbblog.cn/action</em><br />
我看到过很多人，只添加了admin这个后缀，登录无限跳转的情况。<br />
Security Level：High<br />
Cache Level:Bypass<br />
Disable Apps<br />
Disable Performance</p>
<p>第三条：<br />
If the URL matches：<em>sbblog.cn/</em><br />
全站缓存，包含所有二级三级域名。<br />
Browser Cache TTL：a month<br />
Cache Level：Cache Everything<br />
Edge Cache TTL：a month</p>]]></description>
    <pubDate>Thu, 08 Dec 2022 14:21:43 +0800</pubDate>
    <author>emer</author>
    <guid>https://925000.xyz/post/2</guid>
</item>
<item>
    <title>欢迎使用emlog</title>
    <link>https://925000.xyz/post/1</link>
    <description><![CDATA[<p>恭喜您成功安装了emlog，这是系统自动生成的演示文章。编辑或者删除它，然后开始您的创作吧！</p>]]></description>
    <pubDate>Wed, 07 Dec 2022 16:27:50 +0800</pubDate>
    <author>emer</author>
    <guid>https://925000.xyz/post/1</guid>
</item></channel>
</rss>