首页 > 系统相关 >nginx的一点小用法-代理国外s3对象存储加速

nginx的一点小用法-代理国外s3对象存储加速

时间:2023-07-14 12:07:18浏览次数:54  
标签:cache ssl s3 xxx 用法 nginx proxy com

缘由:

有一套环境部署在aws 新加坡区,资源使用s3对象存储,也用了cloudfront加速,但是but国内访问最近抽筋,也特意看了一下解析的地址IP....加速的地址在usa.....资源加速太慢了就想到了用nginx缓存加速一下!当然了还可以用国内腾讯云cos or 阿里云oss同步到国内?但是生命周期,同步成本估计会很高,就简单用nginx先尝试一下了!

顺便尝试问了一下chatgpt:

image.png

简单配置使用

就这样简单配置了一下: cat xxx.xxx.com.conf

proxy_cache_path /data/wwwroot/xxx.xxx.com levels=1:2 keys_zone=s3_cache:10m max_size=1g inactive=60m use_temp_path=off;

server {
  listen 80;
  listen 443 ssl http2;
  ssl_certificate /usr/local/tengine/conf/ssl/xxx.com.crt;
  ssl_certificate_key /usr/local/tengine/conf/ssl/xxx.com.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name xxx.xxx.com;
  access_log /data/wwwlogs/xxx.xxx.com_nginx.log combined;
  index index.html index.htm index.php;
  root /data/wwwroot/xxx.xxx.com;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }

  include /usr/local/tengine/conf/rewrite/none.conf;
  #error_page 404 /404.html;
  #error_page 502 /502.html;

location / {
    proxy_http_version 1.1;
    proxy_pass http://xxx.s3.ap-southeast-1.amazonaws.com;
    proxy_set_header Authorization ""; 
    proxy_hide_header x-amz-id-2;
    proxy_hide_header x-amz-request-id;
    proxy_hide_header Set-Cookie;
    proxy_ignore_headers "Set-Cookie";
    proxy_cache s3_cache;
    proxy_cache_valid 200 302 1h;
    proxy_cache_valid 403 404 500 502 503 504 1m;
    add_header X-Cache-Status $upstream_cache_status;
}
}

注意:nginx server 使用oneinstack搭建,用了十多年的一键lnmp搭建工具!只增加了proxy_cache_path 配置,修改了location 配置。 reload 加载配置!

systemctl restart nginx 
or
systemctl reload nginx

image.png 完美实现,跟小伙伴开玩笑,打钱哈哈哈 image.png 有同样需求的可以尝试用nginx代理一下,当然了缓存时间,缓存文件最大大小等参数有必要根据实际优化一下!

标签:cache,ssl,s3,xxx,用法,nginx,proxy,com
From: https://blog.51cto.com/saynaihe/6719952

相关文章

  • Nginx之数据流代理stream模块简介和使用 ---九五小庞
    一、stream模块简介  stream模块一般用于TCP/UDP数据流的代理和负载均衡,通过stream模块我们可以代理转发tcp报文。ngx_stream_core_module模块从1.9.0版开始提供。默认情况下,此模块不是构建的,应该使用–withstream配置参数启用它,即我们需要使用./configure--with-stream的方......
  • 20个非常绚丽的HTML5/CSS3应用插件
    基于HTML5的应用现在已经非常广泛,今天我们就来向大家分享20款非常绚丽的HTML5/CSS3应用插件。希望大家喜欢并分享给你的好友们。1、HTML5视频破碎重组特效强大视觉冲击HTML5视频播放器很多,但是HTML5视频特效还是很少见的,这款HTML5视频破碎重组特效非常刺激,给人强大的视觉冲击。......
  • Find命令的7种用法
    可以很肯定地说,find命令是Linux后台开发人员必须熟知的操作之一,除非您使用的是WindowsServer。对于技术面试,它也是一个热门话题。让我们看一道真题:如果你的Linux服务器上有一个名为logs的目录,如何删除该目录下最后一次访问时间超过一年的日志文件呢?这种情况很常见,但令......
  • Ribbon与Nginx的区别
    一、Ribbon与Nginx的区别我们知道负载均衡有硬件负载均衡与软件的负载均衡方案硬件负载均衡:比如F5、深信服、Array等;软件负载均衡:比如Nginx、LVS、HAProxy等;硬件负载均衡或是软件负载均衡,他们都会维护一个可用的服务端清单,通过心跳检测来剔除故障的服务端节点以保证清单......
  • 制作nginx的RPM包
    使用nginx-1.22.1版本的源码软件,生成对应的RPM包软件,具体要求如下:软件名称为nginx软件版本为1.22.1RPM软件包可以查询描述信息RPM软件包可以安装及卸载 方案:安装rpm-build软件包,编写SPEC配置文件,创建新的RPM软件包。步骤一:安装rpm-build软件1)安装rpm-build软件包[roo......
  • Java5泛型的用法,T.class的获取和为擦拭法站台
    Java5的泛型语法已经有太多书讲了,这里不再打字贴书。GP一定有用,不然Java和C#不会约好了似的同时开始支持GP。但大家也清楚,GP和Ruby式的动态OO语言属于不同的意识形态,如果是一人一票,我想大部分的平民程序员更热衷动态OO语言的平白自然。但如果不准备跳槽到支......
  • nginx: [emerg] unknown directive "ngx_fastdfs_module" in /usr/local/src/nginx-1.
    一、问题说明:搭建fastDFS集群时,提示错误信息为:nginx:[emerg]unknowndirective"ngx_fastdfs_module"in/usr/local/src/nginx-1.10.0/conf/nginx.conf:52        通过分析加载fastdfs模块出错二、配置完信息后在,执行nginx-V  发现没有fastdfs的相关内......
  • consul 使用总结 & Nginx 负责均衡,最大连接数据,超时次数,超时等待时间,权重
    consul使用总结&Nginx负责均衡,最大连接数据,超时次数,超时等待时间,权重consulagnet-dev启动consul启动服务,注册服务:dotnetOrderServer.dll--urls="http://:5189"--ip="127.0.0.1“--port=5189dotnetOrderServer.dll--urls="http://:5188"--ip="127.0.0......
  • MyBatis返回resultType=Map的用法, 返回List<Map<String,String>>
    <selectid="statOnlineAndNotlineNumber"resultType="java.util.Map"parameterType="java.lang.String">SELECTonline_stateasstate,COUNT(online_state)asnumberFROMwl_rm_t_vehicle_state<iftest="operatorCode!=nu......
  • nginx安装及配置
    ......