前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx的一点小用法-代理国外s3对象存储加速

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

原创
作者头像
对你无可奈何
修改2023-07-14 11:57:47
6371
修改2023-07-14 11:57:47
举报
文章被收录于专栏:运维专栏运维专栏

缘由:

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

顺便尝试问了一下chatgpt:

image.png
image.png

简单配置使用

就这样简单配置了一下:

cat xxx.xxx.com.conf

代码语言:txt
复制
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 加载配置!

代码语言:txt
复制
systemctl restart nginx 

or

systemctl reload nginx
image.png
image.png

完美实现,跟小伙伴开玩笑,打钱哈哈哈

image.png
image.png

有同样需求的可以尝试用nginx代理一下,当然了缓存时间,缓存文件最大大小等参数有必要根据实际优化一下!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 缘由:
  • 顺便尝试问了一下chatgpt:
  • 简单配置使用
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档