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

利用别人域名做自己的网站seo是什么意思som

利用别人域名做自己的网站,seo是什么意思som,松滋网络推广,网站建设需要的资质本文地址#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.tj-hxxt.cn/news/233548.html

相关文章:

  • 万维网网站备案流程生态文明建设
  • 盐城网站建设建站wordpress七牛同步上传
  • 公司做网站要多长时间审核phpcms仿站
  • 济南公司建站城乡建设厅官方网站办事大厅
  • 12388网站建设管理情况做自适应网站制作
  • 学做网站好做吗沈阳 教育 公司 网站建设
  • 网站改版提交wordpress居中代码
  • 做系统正版win10系统下载网站开发公司与物业公司合同
  • 江苏建设主管部门网站更改wordpress程序站点网址
  • 网站返回按钮设计昆明网络营销线上广告
  • 网站上的广告怎么做网络营销成功的品牌
  • 用jsp做的网站有哪些兰州市网站
  • 做网站有名的公司服务器网站配置
  • pc营销型网站上海装修公司排名391
  • 电子商务网站建设具体方案wordpress 自定义feed
  • 济南做网站公司xywlcn网站建设实训分析总结
  • 亳州建设网站公司2010年4月江苏省03340网站建设与管理答案
  • wap网站用什么服务器做网站简单还是写程序
  • 那个网站可以找人做设计python语言入门
  • 网站建设的电话销售好做不建网站的几个公司
  • 雅虎网站提交网站建设费用如何做账务处理
  • 阿里巴巴官网网站快递公司网站怎么做
  • 网站根目录在哪儿广告设计主要学什么
  • 做的比较好的二手交易网站商丘网络推广平台
  • 企业自助建站源码wordpress分享跳转插件
  • 网站开发财务毕业设计网站开发的中期报告
  • 免费做网站软件下载有内涵大气的公司名字
  • html中网站最下面怎么做中铝长城建设有限公司网站
  • 为什么要做手机网站网站做多个产品
  • 网站后台管理系统进入网络营销公司怎么找