사용자의 아바타가 Amazon S3에 업로드되고 저장되며 mywebsite.com
이라는 도메인이 있고 CloudFlare
을 사용하여 S3 버킷에서 파일을 캐시한다고 가정 해 봅시다. 내가 어떻게 그럴 수 있니?CloudFlare를 통해 S3에서 파일을 제공하는 방법
0
A
답변
1
cloudflare 사이트에서 찾을 수있는 문서는 다소 암묵적이며 제대로 작동하려면 Google을 꽤 많이 사용해야했습니다. 그래서 여기에 내 솔루션이 포괄적이지 않을 수도 있지만 시작하기에 충분할 수 있습니다.
1)에 다음과 같은 정책을 추가)
2 avatars.mywebsite.com
라는 버킷을 만듭니다. CORS가 아닌 정책. 내가이하는 생각은 무엇
{
"Version": "2012-10-17",
"Id": "http referer policy",
"Statement": [
{
"Sid": "CloudFlare Requests",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::avatars.mywebsite.com/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"103.21.244.0/22",
"103.22.200.0/22",
"103.31.4.0/22",
"104.16.0.0/12",
"108.162.192.0/18",
"131.0.72.0/22",
"141.101.64.0/18",
"162.158.0.0/15",
"172.64.0.0/13",
"173.245.48.0/20",
"188.114.96.0/20",
"190.93.240.0/20",
"197.234.240.0/22",
"198.41.128.0/17"
]
}
}
}
]
}
는 만 CloudFlare
에 속하고 자신의 웹 사이트에 어딘가에 찾을 수 있습니다 된 IP로 액세스 할 수 있도록이 버킷에 대한 액세스를 제한하는 것입니다. 또한 Id
및 Sid
에는 귀하의 경우에 맞는 정보가 포함될 수 있습니다.
3) CloudFlare
DNS 관리자에 CNAME 레코드를 추가하십시오. 이름 avatars
및 값이어야합니다 avatars.mywebsite.com.s3.amazonaws.com
당신이 당신의 웹 사이트에서 user/1/avatar.jpg
같은 경로로 버킷에있는 파일에 액세스하려면
4) 이제, 다음 SRC를 사용
https://avatars.mywebsite.com/user/1/avatar.jpg
5) HTTPS가 사용되는 경우 CloudFlare
대시 보드에서 SSL 수준을 Full(Strict)
에서 Full
으로 변경해야 할 필요가 있음을 지적 할 가치가 있습니다.
관련 문제
- 1. Amazon S3에서 gzipped 에셋을 제공하는 방법
- 2. s3에서 url을 통해 다운로드
- 3. node_module 파일을 클라이언트에 제공하는 방법
- 4. boto를 사용하여 S3에서 이진 파일을 읽는 방법?
- 5. AWS S3에서 파일을 다운로드하고 iOS에서 액세스하는 방법
- 6. Java S3에서 파일을 업로드해야합니다.
- 7. 랙을 통해 고정 파일을 제공하는 방법은 무엇입니까?
- 8. Amazon S3에서 파일을 안전하게 제공
- 9. Gitit 위키를 통해 외부 Markdown 파일을 제공하는 방법
- 10. Windows에서 nginx 및 django를 통해 정적 파일을 제공하는 방법
- 11. 로컬에서 HTTPS를 통해 정적 파일을 쉽게 제공하는 방법
- 12. AWS S3에서 파일을 Zip으로 스트리밍하는 방법
- 13. HttpListener에서 상대 파일을 제공하는 방법
- 14. asp.net, 정적 파일을 제공하는 방법
- 15. 내 업 로더의 Cloudflare를 무시하는 방법?
- 16. IIS가 web.config를 통해 확장명을 제공하는 방법
- 17. Carrierwave에서 S3에서 파일을 삭제하려면 어떻게해야합니까?
- 18. Socket.io - Cloudflare를 통한 SSL
- 19. Amazon S3에서 Heroku를 통해 정적 파일 검색
- 20. 레일스 개발에서 새로운 css 파일을 제공하는 방법
- 21. mod_rewrite를 아마존 S3에서 파일을 얻으려면?
- 22. S3에서 Zip으로 파일을 다운로드하려면 PHP
- 23. S3에서 라인별로 큰 파일을 스트리밍
- 24. PHP를 사용하여 s3에서 파일을 다운로드하십시오.
- 25. S3에서 파일을 호스팅하고 MySQL을 활용합니다.
- 26. Socket.IO/Node.js에서 정책 파일을 제공하는 방법
- 27. 정보 창을 통해 사용자에게 정보를 제공하는 방법
- 28. sqlite.swift, 이름을 통해 필드 값을 제공하는 방법?
- 29. 각도 클럭을 HTTPS를 통해 제공하는 방법
- 30. AWS - 난 안드로이드 APP에 아마존 S3에서 파일을 다운로드해야하고, URL 내가 서블릿을 통해 안드로이드 APP 아마존 S3에서 파일을 다운로드해야
나쁘지 않습니다. * "내가 생각하는 바에는 버킷에 대한 액세스를 제한하여 해당 IP로만 액세스 할 수 있습니다."기술적으로 이것은 버킷을 제한하는 것이 아니라 원본 IP가 비공개 개체에 대한 인증되지 않은 액세스를 허용하는 것입니다. 나열된 주소 중 하나입니다. 객체 ACL, 버킷 정책 및 버킷 ACL이 모든 사람에게 버킷 공개를 설정하지 않으면 넷 효과는 비슷합니다. 'Sid' (Statement ID)는 실제로 편의상 불투명 한 레이블이며, 서비스는 그것을 해석하지 않습니다. –
@ Michael-sqlbot 아, 그 점을 지적 해 주셔서 감사합니다. – JustMichael