反代Cloudflare的好处在哪里
可以解决国内用户访问慢的问题(反代机器的线路质量决定)
可以解决源站和反代机器之间延迟过高,延迟不稳定的问题,缓解源站压力,被Cloudflare缓存的页面可以直接从Cloudflare读取。
如果只是简单的反代http页面,在反代服务器简单的配置以下即可,例如使用宝塔面板的,默认设置即可成功实现反代cloudflare http站点
(反代服务器如果跟cloudflare给予的Anycast节点IP延迟过高,或者因为反代服务器IP是广播问题而造成的cloudflare分配到错误的节点问题,可以通过修改反代服务器的hosts文件进行修改)
如果接下来只是单纯的Nginx文件配置设置,把反代的地址从http改为https的话,你会发现报错(有些Nginx环境配置好后可以打开页面,但是动态链接无法使用,例如无法评论,无法注册登录,也是相同报错)只要在反代设置规则里面加入
proxy_ssl_name $host; proxy_ssl_server_name on;
即可成功反代Cloudflare的https站点
方法来自好东东大佬
补充教程:
proxy_pass https://你的网站ip; proxy_set_header Host $proxy_host;
直接写IP,然后加个 proxy_set_header Host $proxy_host;
就不需要改hosts文件了
终极配置方法:
proxy_pass https://xxx.com; proxy_ssl_name $proxy_host; proxy_ssl_server_name on; proxy_set_header Host $proxy_host;
既不需要指定ip,也能实现ssl代理cf站点。只需要将$host替换为$proxy_host。
Nginx缓存到内存
这个只需将缓存目录设置在/dev/shm/
下即可
配置文件:
proxy_cache_path /dev/shm/moec.top levels=1:2 keys_zone=laoxong:1m inactive=30m max_size=50m; server { listen 80; listen 443 ssl http2; ssl_certificate /usr/local/nginx/conf/ssl/moec.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/moec.key; ssl_session_timeout 1d; ssl_session_cache builtin:1000 shared:SSL:10m; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers "TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5"; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; server_name 你的域名; access_log /usr/local/nginx/caches/moec.top_nginx.log combined; charset utf-8,gbk; location / { proxy_set_header Accept-Encoding ""; proxy_pass https://你的网站; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache laoxong; proxy_cache_key $uri$is_args$args; proxy_cache_valid 200 304 30m; proxy_cache_valid 301 24h; proxy_cache_valid 500 502 503 504 0s; proxy_cache_valid any 1s; proxy_cache_min_uses 1; expires 12h; } location ~ /purge(/.*) { allow all; allow 127.0.0.1; # deny all; proxy_cache_purge laoxong $1$is_args$args; } }
注意max_size
不要超了内存大小哦
/dev/shm
的容量默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节。
如果需要使用到这个目录,并且默认的大小不够使用,而其他程序占用的内存又比较少的时候,可以修改器最大占用内存的大小,来达到自己的目的。
其实修改它的原理很简单,对其进行重新挂载即可,挂载的时候指定挂载参数。
mount -o size=5128M -o remount /dev/shm
上面对/dev/shm
进行了重新挂载,并修改其大小为5G
。