当前位置: 首页 > news >正文

设计电子商务网站方式wordpress主题语言包

设计电子商务网站方式,wordpress主题语言包,中国建筑英才网官网手机版,广州工商局官网本文地址#xff1a;blog.lucien.ink/archives/547 本文主要参考自#xff1a;自建Docker 镜像/源加速的方法 1. 简介 最近 Docker Hub 被禁一事引起了不小的波动#xff0c;在这里简单讲下在这之后应该如何访问公开的 Docker Hub。 2. Cloudflare 2.1 搭建 搭建的前提是… 本文地址blog.lucien.ink/archives/547 本文主要参考自自建Docker 镜像/源加速的方法 1. 简介 最近 Docker Hub 被禁一事引起了不小的波动在这里简单讲下在这之后应该如何访问公开的 Docker Hub。 2. Cloudflare 2.1 搭建 搭建的前提是有一个在 Cloudflare 中被管理的域名此处不展开介绍在这里假设这个域名是 your-domain.com。 2.1.1 创建 Worker 点击页面左侧的 Workers Pages创建一个 Worker填入以下内容。请注意将 your-domain.com 替换为你自己的域名。 use strictconst hub_host registry-1.docker.io const auth_url https://auth.docker.io const workers_url https://your-domain.com /*** static files (404.html, sw.js, conf.js)*//** type {RequestInit} */ const PREFLIGHT_INIT {status: 204,headers: new Headers({access-control-allow-origin: *,access-control-allow-methods: GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS,access-control-max-age: 1728000,}), }/*** param {any} body* param {number} status* param {Objectstring, string} headers*/ function makeRes(body, status 200, headers {}) {headers[access-control-allow-origin] *return new Response(body, {status, headers}) }/*** param {string} urlStr*/ function newUrl(urlStr) {try {return new URL(urlStr)} catch (err) {return null} }addEventListener(fetch, e {const ret fetchHandler(e).catch(err makeRes(cfworker error:\n err.stack, 502))e.respondWith(ret) })/*** param {FetchEvent} e*/ async function fetchHandler(e) {const getReqHeader (key) e.request.headers.get(key);let url new URL(e.request.url);if (url.pathname /token) {let token_parameter {headers: {Host: auth.docker.io,User-Agent: getReqHeader(User-Agent),Accept: getReqHeader(Accept),Accept-Language: getReqHeader(Accept-Language),Accept-Encoding: getReqHeader(Accept-Encoding),Connection: keep-alive,Cache-Control: max-age0}};let token_url auth_url url.pathname url.searchreturn fetch(new Request(token_url, e.request), token_parameter)}url.hostname hub_host;let parameter {headers: {Host: hub_host,User-Agent: getReqHeader(User-Agent),Accept: getReqHeader(Accept),Accept-Language: getReqHeader(Accept-Language),Accept-Encoding: getReqHeader(Accept-Encoding),Connection: keep-alive,Cache-Control: max-age0},cacheTtl: 3600};if (e.request.headers.has(Authorization)) {parameter.headers.Authorization getReqHeader(Authorization);}let original_response await fetch(new Request(url, e.request), parameter)let original_response_clone original_response.clone();let original_text original_response_clone.body;let response_headers original_response.headers;let new_response_headers new Headers(response_headers);let status original_response.status;if (new_response_headers.get(Www-Authenticate)) {let auth new_response_headers.get(Www-Authenticate);let re new RegExp(auth_url, g);new_response_headers.set(Www-Authenticate, response_headers.get(Www-Authenticate).replace(re, workers_url));}if (new_response_headers.get(Location)) {return httpHandler(e.request, new_response_headers.get(Location))}return new Response(original_text, {status,headers: new_response_headers}) }/*** param {Request} req* param {string} pathname*/ function httpHandler(req, pathname) {const reqHdrRaw req.headers// preflightif (req.method OPTIONS reqHdrRaw.has(access-control-request-headers)) {return new Response(null, PREFLIGHT_INIT)}let rawLen const reqHdrNew new Headers(reqHdrRaw)const refer reqHdrNew.get(referer)let urlStr pathnameconst urlObj newUrl(urlStr)/** type {RequestInit} */const reqInit {method: req.method,headers: reqHdrNew,redirect: follow,body: req.body}return proxy(urlObj, reqInit, rawLen, 0) }/**** param {URL} urlObj* param {RequestInit} reqInit*/ async function proxy(urlObj, reqInit, rawLen) {const res await fetch(urlObj.href, reqInit)const resHdrOld res.headersconst resHdrNew new Headers(resHdrOld)// verifyif (rawLen) {const newLen resHdrOld.get(content-length) || const badLen (rawLen ! newLen)if (badLen) {return makeRes(res.body, 400, {--error: bad len: ${newLen}, except: ${rawLen},access-control-expose-headers: --error,})}}const status res.statusresHdrNew.set(access-control-expose-headers, *)resHdrNew.set(access-control-allow-origin, *)resHdrNew.set(Cache-Control, max-age1500)resHdrNew.delete(content-security-policy)resHdrNew.delete(content-security-policy-report-only)resHdrNew.delete(clear-site-data)return new Response(res.body, {status,headers: resHdrNew}) }2.1.2 添加域名 进入创建好的 Worker 的配置页面在 Settings Tab 中选择 Triggers点击 Add Custom Domain添加 your-domain.com。 2.2 使用 2.2.1 配置为镜像 在 /etc/docker/daemon.json 加入以下内容 {registry-mirrors: [https://your-domain.com] }然后重启 dockersystemctl restart docker 随后就能像往常一样直接 pull 了 docker pull busybox:latest docker pull mysql/mysql-server:latest2.2.2 直接使用 docker pull your-domain.com/library/busybox:latest docker pull your-domain.com/mysql/mysql-server:latest3. 使用 registry 首先你需要一个能正常访问 Docker Hub 的机器并在那台机器上正常安装 Docker。 3.1 搭建 找一个文件夹编辑 compose.yml 文件填入以下内容 services:registry:image: registry:2ports:- 5000:5000environment:REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io # 上游源REGISTRY_STORAGE_CACHE_BLOBDESCRIPTOR: inmemory # 内存缓存去掉本行以直接使用硬盘volumes:- ./data:/var/lib/registry然后执行 docker compose up -d 即可。 3.2 使用 使用方法同上。
http://www.w-s-a.com/news/824677/

相关文章:

  • 优秀企业网站的特点网站标签名词
  • 建材网站建设案例淄博网站建设培训
  • 纯代码添加wordpress网站底部导航宝塔自助建站源码
  • 网站设计技术有哪些?青岛网站建设工作室
  • 网站怎样建设才叫人性化宣传
  • 济南网站制作方案做淘客网站备案
  • h5企业网站只做做php门户网站那个系统好
  • 长春阿凡达网站建设建网站如果不买域名别人能不能访问
  • 佛山网站建设策划东莞建设工程交易网
  • 制作公众号网站开发濮阳建网站
  • 屏南网站建设兼职旅游网站建设方案两百字
  • 最牛的网站建设网站建设的规模设想
  • 马云之前做的网站企业形象策划
  • ie9网站后台编辑器代发qq群发广告推广
  • 百度怎样建立一个网站嘉兴高端网站定制
  • 国外设计网站怎么进入电子网站建设前台设计
  • 中方建设局网站济南网站建设公司电子商务网站
  • 如何做网站编辑 沒技术济南企业做网站推广网站
  • 网站模板 百科北京中高风险地区最新名单最新
  • 高校网站建设前言做公众号的公司是什么公司
  • 网站备案怎么登陆短视频培训学校
  • 百度图片点击变网站是怎么做的北京市建设工程质量监督站网站
  • 在线建站模板重庆网站建设大概需要多少钱
  • 建设网站公司电话号码wordpress 即时通讯
  • 网站设计用的技术拓者吧室内设计网app
  • 河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo网站建设运行情况报告
  • 建设银行内部网站6画册设计是什么
  • 网站建设什么价格网站下拉菜单怎么做
  • flash型网站微信公众号运营策划
  • 想建设个网站怎么赚钱国外学校网站设计