Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill cdn명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | cdn |
| description | Content delivery network optimization |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"developer, devops-engineer","category":"devops"} |
# Nginx CDN configuration
location /static/ {
# Cache for 1 year for versioned assets
expires 1y;
add_header Cache-Control "public, immutable";
# Enable CDN caching
proxy_cache_valid 200 60m;
proxy_cache_use_stale error timeout http_500;
# Set cache key
proxy_cache_key "$scheme$request_method$host$request_uri";
}
location /api/ {
# Don't cache API responses by default
proxy_cache_bypass $http_cache_control;
add_header Cache-Control "no-store";
}
| Provider | Strengths | Use Cases |
|---|---|---|
| CloudFlare | DDoS protection, Workers | Security-focused, edge compute |
| AWS CloudFront | AWS integration, Lambda@Edge | AWS ecosystems |
| Fastly | Real-time purging, VCL | Custom caching, streaming |
| Akamai | Global reach, enterprise | Large-scale, video |
| Google Cloud CDN | GCP integration | GCP ecosystems |
# CloudFront invalidation
aws cloudfront create-invalidation \
--distribution-id $DIST_ID \
--paths "/static/*" "/images/*"
# CloudFlare purge
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE/purge_cache" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything": true}'
// Cloudflare Worker example
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
// A/B testing at the edge
const variant = Math.random() < 0.5 ? 'a' : 'b'
const response = await fetch(request)
// Add variant header
const newResponse = new Response(response.body, response)
newResponse.headers.set('X-Variant', variant)
return newResponse
}