Classic/VPC 환경에서 이용 가능합니다.
Ncloud Storage 버킷에 정적 웹 사이트 호스팅 설정을 등록하거나 기존 설정을 덮어씁니다.
설정을 등록한 버킷에 접근하는 방법은 웹 사이트 호스팅 엔드포인트를 참조해 주십시오.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| PUT | - |
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
Ncloud Storage API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Storage 요청 헤더를 참조해 주십시오.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
Content-MD5 |
Optional | 요청 바디의 Base64 인코딩된 128비트 MD5 해시값
|
x-amz-checksum-* |
Optional | 체크섬 해시 값
|
요청 쿼리 파라미터
요청 쿼리 파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
website |
String | Required | 정적 웹 사이트 호스팅 설정 변경 요청
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
WebsiteConfiguration |
- | Required | 정적 웹 사이트 호스팅 설정의 루트 요소
|
WebsiteConfiguration.IndexDocument |
Object | Conditional | 인덱스 문서 설정
|
WebsiteConfiguration.IndexDocument.Suffix |
String | Required | 인덱스 문서의 객체 이름
|
WebsiteConfiguration.ErrorDocument |
Object | Optional | 오류 문서 설정
|
WebsiteConfiguration.ErrorDocument.Key |
String | Required | 오류 문서의 객체 키
|
WebsiteConfiguration.RedirectAllRequestsTo |
Object | Conditional | 모든 요청을 지정한 호스트로 리다이렉트하는 설정
|
WebsiteConfiguration.RedirectAllRequestsTo.HostName |
String | Required | 리다이렉트할 호스트 이름
|
WebsiteConfiguration.RedirectAllRequestsTo.Protocol |
String | Optional | 리다이렉트할 프로토콜
|
WebsiteConfiguration.RoutingRules |
List | Optional | 리다이렉트 규칙 목록
|
WebsiteConfiguration.RoutingRules.RoutingRule.Condition |
Object | Optional | 규칙을 적용할 조건
|
WebsiteConfiguration.RoutingRules.RoutingRule.Condition.KeyPrefixEquals |
String | Optional | 규칙을 적용할 객체 키의 접두사
|
WebsiteConfiguration.RoutingRules.RoutingRule.Condition.HttpErrorCodeReturnedEquals |
Integer | Optional | 규칙을 적용할 응답 상태 코드
|
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect |
Object | Required | 리다이렉트 대상 |
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect.HostName |
String | Optional | 리다이렉트할 호스트 이름
|
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect.Protocol |
String | Optional | 리다이렉트할 프로토콜
|
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect.HttpRedirectCode |
Integer | Optional | 리다이렉트 응답 상태 코드
|
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect.ReplaceKeyWith |
String | Optional | 객체 키 전체를 대체할 값
|
WebsiteConfiguration.RoutingRules.RoutingRule.Redirect.ReplaceKeyPrefixWith |
String | Optional | Condition.KeyPrefixEquals에 해당하는 접두사를 대체할 값
|
요청 바디 관련하여 다음 내용을 참고해 주십시오.
IndexDocument와RedirectAllRequestsTo를 모두 입력하지 않거나 모두 입력한 경우, 오류를 반환합니다.- 하나의 요청에서 여러 항목이 동시에 유효하지 않은 경우, 먼저 검사한 항목의 오류 하나만 반환합니다.
요청 예시
요청 예시는 다음과 같습니다.
인덱스 문서와 오류 문서를 설정하는 경우
docs/ 접두사를 가지는 요청을 documents/로 리다이렉트하고, 404 오류가 발생하면 지정한 호스트로 리다이렉트하는 요청 예시는 다음과 같습니다.
PUT /?website HTTP/1.1
Host: bucket.kr.ncloudstorage.com
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>error.html</Key>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>docs/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>documents/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>www.example.com</HostName>
<Protocol>https</Protocol>
<ReplaceKeyWith>notfound.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>
</WebsiteConfiguration>
모든 요청을 리다이렉트하는 경우
모든 요청을 지정한 호스트로 리다이렉트하는 요청 예시는 다음과 같습니다. RedirectAllRequestsTo는 다른 항목과 함께 입력할 수 없습니다.
PUT /?website HTTP/1.1
Host: bucket.kr.ncloudstorage.com
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<RedirectAllRequestsTo>
<HostName>www.example.com</HostName>
<Protocol>https</Protocol>
</RedirectAllRequestsTo>
</WebsiteConfiguration>
응답
응답 형식을 설명합니다.
응답 헤더
Ncloud Storage API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Storage 응답 헤더를 참조해 주십시오.
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
Ncloud Storage API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Storage 응답 상태 코드를 참조해 주십시오.
| 에러 코드 | HTTP 상태 코드 | 설명 |
|---|---|---|
MissingRequestBodyError |
400 | 요청 바디가 없음 |
MaxMessageLengthExceeded |
400 | 요청 바디가 128KB를 초과함 |
MalformedXML |
400 | 요청 바디 XML이 스키마에 맞지 않음
|
InvalidArgument |
400 | 요소 조합 또는 값이 유효하지 않음
|
InvalidRequest |
400 | 리다이렉트 설정 값이 유효하지 않음
|
응답 예시
응답 예시는 다음과 같습니다.
HTTP/1.1 200 OK