首页 > 其他分享 >自建拉取registry.k8s.io、k8s.gcr.io、gcr.io、quay.io、ghcr.io 容器镜像的服务

自建拉取registry.k8s.io、k8s.gcr.io、gcr.io、quay.io、ghcr.io 容器镜像的服务

时间:2022-10-27 16:11:31浏览次数:69  
标签:0.0 server ssl gcr proxy io k8s com

文档说明:只记录关键地方;
缘由: 折腾使用了各种各样的拉取镜像的办法,虽然实现了目的,但是耗费了大量的时间,同时随着时间的推移,很多办法逐渐失效了。决定自己实现
目的: 方便快捷的拉取容器镜像
试验环境: linux debian 11 docker
目标:实现能拉取 registry.k8s.io、 k8s.gcr.io、 gcr.io、 quay.io、 ghcr.io 容器镜像的服务

准备nginx配置文件 nginx.conf


# CONNECT HOST 允许通过代理的域名
map $host $tls_proxy_allow_url_flag {
       default 0;
       ~^([\w|-]+?)\.googlesource\.com$ 1;
       ~^([\w|-]+?)\.googleapis\.com$ 1;
       ~^chrome-infra-packages\.appspot\.com$ 1;

       registry-1.docker.io 1;
       auth.docker.io 1;
       production.cloudflare.docker.com 1;
       k8s.gcr.io 1;
       registry.k8s.io 1;
       ghcr.io 1;
       quay.io 1; 
}

## 服务器允许的客户端IP白名单
map $remote_addr $allow_remote_addr_flag {
     default 0;
     '182.131.26.231' 1;
     '42.83.144.13' 1;
}

server {
    
    listen 443;
    server_name http-proxy.xiaoshuogeng.com;
    ssl_certificate     /tls/wildcard.xiaoshuogeng.com.fullchain.pem;
    ssl_certificate_key /tls/wildcard.xiaoshuogeng.com.key.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;
    
    ssl_protocols  TLSv1.3;
    ssl_prefer_server_ciphers off;
    # dns resolver used by forward proxying
    resolver  1.0.0.1 1.0.0.2 1.0.0.3 1.1.1.1 8.8.8.8 8.8.4.4 ;
    
    # forward proxy for CONNECT request
    proxy_connect;
    proxy_connect_allow 443 80;
    proxy_connect_connect_timeout 10s;
    proxy_connect_read_timeout 10s;
    proxy_connect_send_timeout 10s;
    
    # 白名单里的IP允许通过代理服务器
    if ( $allow_remote_addr_flag = 1 ) {
       set $tls_proxy_allow_url_flag 1 ;
    }

    # 控制允许通过的域名
    # forward proxy for non-CONNECT request
    if ( $tls_proxy_allow_url_flag != 1) {
        return 403 '{"status":"403","result":"no allow","message":"403"}';
    }
    
    location / {
        charset utf-8;
        default_type text/plain;
        return 200 'yeah 

标签:0.0,server,ssl,gcr,proxy,io,k8s,com
From: https://www.cnblogs.com/jingjingxyk/p/16830185.html

相关文章

  • PAT_甲级_1050 String Subtraction (20分) (C++)【签到题/二分查找/字符串处理】
    目录​​1,题目描述​​​​ 题目大意​​​​2,思路​​​​3,代码​​​​4,测试效果​​1,题目描述SampleInput:Theyarestudents.aeiou SampleOutput:Thyrstdnts. 题......
  • JDBC各个类详情-DriverManager住册驱动、Connection-获取数据库连接
    详细各个对象:1、DriverManager:驱动管理对象功能:1.注册驱动:告诉程序该使用哪一个数据库驱动jarstaticvoidregisterDriver(Driverdriver):注册与给定的驱动程序Driver......
  • 解决vue报错 Failed to mount component: template or render function not defined.
    今天npmrundev的时候,有个页面报错,提示[Vuewarn]:Failedtomountcomponent:templateorrenderfunctionnotdefined.昨天还好好的,今天就报错了,也没改啥。经过查资......
  • Iup Radio Toggle Action Valuechanged_cb Focus
    IupRadioToggleActionValuechanged_cbFocusradio_toggle.VALUE='ON'、radio_group.VALUE=radio_toggle貌似等效。待测试radio_group.VALUE=radio_toggle后,是否rad......
  • 线性回归 Linear Regression
    线性回归的预设线性只能通过每个样本各维的线性组合获得预测结果,这使得函数很简单,但拟合能力较弱。同方差性每个样本的方差不变。方差不同会使得拟合函数对某些数......
  • 02#嵌入式系统基础:GPIO 对 LED 的控制
    GPIO概念GP是GeneralPurpose的缩写,直译是“用途多”的意思。I/O表示Input和Output,输入和输出的意思。结合起来就是GPIO,即通用IO。MCU有许多个引脚,STM32L431......
  • Android Studio生成.jks文件
    jks(javakeystore)字面意思可以理解为java的密钥库,是一个用来存放密钥和证书的仓库。而keytool就是密钥和证书的管理工具,它把key(密钥)和certificate(证书)存放在一个叫keysto......
  • MASA MAUI iOS如何绑定微信
    背景MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不......
  • istio部署demoapp应用 (十三)Outlier Detection
    异常值探测配置示例常用的错误标识consecutiveLocalOriginFailuresconsecutiveGatewayErrors只包括502、503和504错误0值表示禁用consecutive5xxErrors......
  • 五种IO模型及设计模式
    下面就分别来介绍一下这5种IO模型的异同。1.阻塞IO模型最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内核会去查看数据是否就绪,如......