网址导航 在线音乐 免费电影 美女图片 笑话漫画 免费代理 电视影视 小说阅读

 找回密码
 注册
搜索
查看: 50|回复: 0

使用宝塔nginx反代cloudflare下https站点

[复制链接]
winnercn 发表于 2024-9-15 12:26:57 | 显示全部楼层 |阅读模式
本帖最后由 winnercn 于 2024-9-15 12:28 编辑



完整代理规则,以宝塔7.2版本为例:
1、自己域名反代自己在cloudflare的域名进行加速
  1. #PROXY-START/
  2. location  ~* \.(php|jsp|cgi|asp|aspx)$
  3. {
  4.     proxy_pass https://你的域名;
  5.     proxy_set_header Host 你的域名;
  6.     #向后端传递访客ip
  7.     proxy_set_header X-Real-IP $remote_addr;
  8.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9.     proxy_set_header REMOTE-HOST $remote_addr;
  10.     #向后端传递访客ip
  11.    
  12.     proxy_ssl_name 你的域名;
  13.     proxy_ssl_server_name on;

  14. }
  15. location /
  16. {
  17.     proxy_pass https://你的域名;
  18.     proxy_set_header Host 你的域名;
  19.     #向后端传递访客ip
  20.     proxy_set_header X-Real-IP $remote_addr;
  21.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  22.     proxy_set_header REMOTE-HOST $remote_addr;
  23.     #向后端传递访客ip
  24.    
  25.     proxy_ssl_name 你的域名;
  26.     proxy_ssl_server_name on;


  27.     #缓存设置
  28.     add_header X-Cache $upstream_cache_status;
  29.         #Set Nginx Cache

  30.     proxy_ignore_headers Set-Cookie Cache-Control expires;
  31.     proxy_cache cache_one;
  32.     proxy_cache_key $host$uri$is_args$args;
  33.     proxy_cache_valid 200 304 301 302 120m;
  34.     expires 12h;
  35. }

  36. #PROXY-END/
复制代码
2、自己的域名反代别人在cloudflare的域名
  1. #PROXY-START/
  2. location  ~* \.(php|jsp|cgi|asp|aspx)$
  3. {
  4.     proxy_pass https://对方的域名;
  5.     proxy_set_header Host 对方的域名;
  6.     #向后端传递访客ip
  7.     proxy_set_header X-Real-IP $remote_addr;
  8.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9.     proxy_set_header REMOTE-HOST $remote_addr;
  10.     #向后端传递访客ip
  11.    
  12.     proxy_ssl_name 对方的域名;
  13.     proxy_ssl_server_name on;

  14. }
  15. location /
  16. {
  17.     proxy_pass https://对方的域名;
  18.     proxy_set_header Host 对方的域名;
  19.     #向后端传递访客ip
  20.     proxy_set_header X-Real-IP $remote_addr;
  21.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  22.     proxy_set_header REMOTE-HOST $remote_addr;
  23.     #向后端传递访客ip
  24.    
  25.     proxy_ssl_name 对方的域名;
  26.     proxy_ssl_server_name on;


  27.     #缓存设置
  28.     add_header X-Cache $upstream_cache_status;
  29.         #Set Nginx Cache

  30.     proxy_ignore_headers Set-Cookie Cache-Control expires;
  31.     proxy_cache cache_one;
  32.     proxy_cache_key $host$uri$is_args$args;
  33.     proxy_cache_valid 200 304 301 302 120m;
  34.     expires 12h;
  35. }

  36. #PROXY-END/
复制代码
3、反代cloudflare 的站点下nginx的缓存和反代的缓存设置
1.如果源站设置expires、源站端max-age和反代nginx cahe端的proxy_cache_valid的情况下,最终是以源站设置的expires的值进行缓存过期处理
2.假如在反代nginx中设置了相关配置,取消源站expires对缓存的影响(proxy_ignore_headers),在同时设置了源站expires、源站端max-age和反代nginx cache端的proxy_cache_valid的情况下,最终以源站端max-age的值进行缓存过期处理
3.假如取消源站expires和源站端max-age对缓存的影响,则以反代nginx端proxy_cache_valid设置的值为标准进行缓存的过期处理
4.反代nginx端inactive的值不受上面所影响,就是请求页面后,根据inactvie设置的时间,都会强制进行缓存清理
5.所以对缓存过期的优先级进行排序为:inactvie、源站expires、源站端max-age、反代nginx的proxy_cache_valid
说明:
  1. #以下配置放在http区,不要在server区使用
  2. proxy_temp_path /www/server/nginx/proxy_temp_dir;
  3. proxy_cache_path /www/server/nginx/proxy_cache_dir levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=5g;
  4. #这一段就是反代的缓存基本设置
  5. #proxy_cache_path:缓存数据目录
  6. #levels:按照几层目录分级
  7. #keys_zone:key空间名,后面的大小为key空间大小,1m可以存放8000左右key,所以不用设得过大
  8. #inactive:强制更新时间,在指定时间内没人访问,就删除缓存(这个很重要,见上面说明,如果不会手动设置proxy_cache_valid,或者懒得设置的话,把这个值设置为1m,就会达到缓存内容1分钟没人访问自动清理)
  9. #max_size:这个才是缓存数据的大小限制
  10. client_body_buffer_size 512k;
  11. #缓冲区代理缓冲用户端请求的最大字节数
  12. proxy_connect_timeout 60;
  13. #nginx跟后端服务器连接超时时间(代理连接超时)
  14. proxy_read_timeout 60;
  15. #连接成功后,后端服务器响应时间(代理接收超时)
  16. proxy_send_timeout 60;
  17. #请求的超时时间
  18. proxy_buffer_size 32k;
  19. #设置代理服务器(nginx)保存用户头信息的缓冲区大小
  20. proxy_buffers 4 64k;
  21. #proxy_buffers缓冲区,网页平均在64k以下
  22. proxy_busy_buffers_size 128k;
  23. #高负荷下缓冲大小(建议值为proxy_buffers*2)
  24. proxy_temp_file_write_size 128k;
  25. proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
  26. proxy_cache cache_one;
  27. #为缓存区名字
复制代码
#以下缓存配置在反代规则里需要缓存的路径(不需要缓存的路径或者规则不要添加下面的)
add_header X-Cache $upstream_cache_status;
#增加头信息,可以在浏览器F12里观察
proxy_ignore_headers Set-Cookie Cache-Control expires;
#重要,强制缓存,不然有些页面不缓存
proxy_cache cache_one;
#开启缓存 缓存区名称
proxy_cache_key $host$uri$is_args$args;
#缓存key
proxy_cache_valid 200 304 2h;
proxy_cache_valid 301 302 3d;
proxy_cache_valid any 10m;
#状态码200,304状态缓存2小时-301,302的过期为3天,其余状态码10分钟过期
这样配合上面的话就是,常用的缓存文件,比如200 304状态的缓存为2小时,301 302状态的缓存为三天,其余状态10分钟
这样不用手动去清理缓存文件,自动的清理了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表