Statik web sitesi barındırma özelliğini kullanarak statik web sitenizi bir Object Storage Service (OSS) paketinde barındırabilir ve paketin uç noktası üzerinden siteye erişebilirsiniz. Bir paket için statik web sitesi barındırma yapılandırdıktan sonra, kullanıcıların OSS'ten istediği veriler mevcut değilse geri dönüş kurallarını yapılandırarak bu verilere erişilebilmesini sağlayabilirsiniz. Bu konuda, bir paket için statik web sitesi barındırma ve geri dönüş yapılandırmalarını eklemek, değiştirmek, sorgulamak veya silmek üzere website komutunun nasıl çalıştırılacağı açıklanmaktadır.
Kullanım notları
Bir pakete web sitesiyle ilgili yapılandırmalar eklemek veya bu yapılandırmaları değiştirmek için
oss:PutBucketWebsiteiznine sahip olmanız gerekir. Bir paketin web sitesiyle ilgili yapılandırmalarını sorgulamak içinoss:GetBucketWebsiteiznine sahip olmalısınız. Bir paketin web sitesiyle ilgili yapılandırmalarını silmek için iseoss:DeleteBucketWebsiteizni gereklidir. Daha fazla bilgi için bkz. Özel ilke atama.ossutil 1.6.16 ve sonraki sürümlerde, komut satırında ikili dosya adı olarak doğrudan ossutil kullanabilirsiniz. İşletim sistemine göre ikili dosya adını güncellemeniz gerekmez. 1.6.16'dan önceki ossutil sürümlerinde işletim sistemine göre ikili dosya adını güncellemeniz gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.
-
Bir paket için statik web sitesi barındırma yapılandırıldıktan sonra, kullanıcıların OSS'ten istediği veriler mevcut değilse 404 hatası döndürülür. Ancak, paket için geçerli bir kaynak içeren geri dönüş kuralları yapılandırırsanız kullanıcılar bu kurallara göre verilere erişebilir.
Statik web sitesi barındırma hakkında daha fazla bilgi için bkz. Genel bakış.
Geri dönüş hakkında daha fazla bilgi için bkz. Geri dönüş yapılandırmasına genel bakış.
Bir pakete web sitesiyle ilgili yapılandırmalar ekleme veya bu yapılandırmaları değiştirme
Bir pakette web sitesiyle ilgili yapılandırma yoksa website komutunu çalıştırdığınızda paket için yeni yapılandırmalar eklenir. Paket zaten web sitesiyle ilgili yapılandırmalara sahipse website komutunu çalıştırdığınızda yeni yapılandırmalar mevcut olanların üzerine yazılır.
Web sitesiyle ilgili yapılandırmaları eklemek veya değiştirmek için aşağıdaki adımları uygulayın:
Yerel bir dosya oluşturun ve web sitesiyle ilgili yapılandırmaları bu dosyaya ekleyin.
Web sitesiyle ilgili yapılandırmaları hedef pakete ekleyin.
Komut sözdizimi ve örnekler
-
Komut sözdizimi
ossutil website --method put oss://bucketname local_xml_fileAşağıdaki tabloda önceki komuttaki parametreler açıklanmaktadır.
Parametre
Açıklama
bucketname
Web sitesiyle ilgili yapılandırmaları eklemek veya değiştirmek istediğiniz paketin adı.
local_xml_file
Web sitesi kurallarını yapılandırmak için kullanmak istediğiniz yerel dosyanın adı. Örnek:localfile.xml. -
Örnekler
-
localfile.xmladlı yerel bir dosya oluşturun ve dosyada farklı web sitesi kuralları yapılandırın.Aşağıdaki örnek kod, statik web sitesi barındırma yapılandırmaları ve geri dönüş yapılandırmaları dahil olmak üzere bir pakete eksiksiz web sitesiyle ilgili yapılandırmaların nasıl ekleneceğini göstermektedir. İhtiyaçlarınıza göre yalnızca statik web sitesi barındırma yapılandırmalarını veya yalnızca geri dönüş yapılandırmalarını ekleyebilirsiniz.
-
Statik web sitesi barındırma yapılandırmaları
Aşağıdaki örnekte <IndexDocument> alanı, statik web sitesinin varsayılan ana sayfasının
index.htmlolduğunu belirtir. <ErrorDocument> alanı ise statik web sitesinin varsayılan 404 sayfasınınerror.htmlolduğunu belirtir. -
Geri dönüş yapılandırmaları
Aşağıdaki örnekte <RoutingRules> alanı geri dönüş kurallarını belirtir. Geri dönüş kuralları için yapılandırabileceğiniz parametreler hakkında daha fazla bilgi için bkz. Genel bakış.
<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> </IndexDocument> <ErrorDocument> <Key>error.html</Key> </ErrorDocument> <RoutingRules> <RoutingRule> <RuleNumber>1</RuleNumber> <Condition> <KeyPrefixEquals>abc/</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> </Condition> <Redirect> <RedirectType>Mirror</RedirectType> <PassQueryString>true</PassQueryString> <MirrorURL>http://example.com/</MirrorURL> <MirrorPassQueryString>true</MirrorPassQueryString> <MirrorFollowRedirect>true</MirrorFollowRedirect> <MirrorCheckMd5>false</MirrorCheckMd5> <MirrorHeaders> <PassAll>true</PassAll> <Pass>myheader-key1</Pass> <Pass>myheader-key2</Pass> <Remove>myheader-key3</Remove> <Remove>myheader-key4</Remove> <Set> <Key>myheader-key5</Key> <Value>myheader-value5</Value> </Set> </MirrorHeaders> </Redirect> </RoutingRule> <RoutingRule> <RuleNumber>2</RuleNumber> <Condition> <KeyPrefixEquals>abc/</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> <IncludeHeader> <Key>host</Key> <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals> </IncludeHeader> </Condition> <Redirect> <RedirectType>AliCDN</RedirectType> <Protocol>http</Protocol> <HostName>example.com</HostName> <PassQueryString>false</PassQueryString> <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration> -
-
Web sitesiyle ilgili yapılandırmaları examplebucket adlı pakete eklemek için aşağıdaki komutu çalıştırın:
ossutil website --method put oss://examplebucket localfile.xmlBenzer bir çıktı görüntülenirse web sitesiyle ilgili yapılandırmalar examplebucket paketine eklenmiş demektir:
0.299514(s) elapsed
-
Web sitesiyle ilgili yapılandırmaları sorgulama
-
Komut sözdizimi
ossutil website --method get oss://bucketname [local_xml_file]Aşağıdaki tabloda önceki komuttaki parametreler açıklanmaktadır.
Parametre
Açıklama
bucketname
Web sitesiyle ilgili yapılandırmalarını sorgulamak istediğiniz paketin adı.
local_xml_file
Web sitesiyle ilgili yapılandırmaların depolandığı yerel dosyanın adı. Örnek:localfile.xml. Bu parametre belirtilmezse sorgulanan web sitesiyle ilgili yapılandırmalar görüntülenir. -
Örnekler
-
examplebucket paketinin web sitesiyle ilgili yapılandırmalarını sorgulamak ve yapılandırmaları
localfile.xmlyerel dosyasında depolamak için aşağıdaki komutu çalıştırın:ossutil website --method get oss://examplebucket localfile.xmlBenzer bir çıktı görüntülenirse examplebucket paketinin web sitesiyle ilgili yapılandırmaları sorgulanmış ve localfile.xml dosyasına kaydedilmiş demektir:
0.212407(s) elapsed -
examplebucket paketinin web sitesiyle ilgili yapılandırmalarını sorgulamak ve yapılandırmaların görüntülenmesini sağlamak için aşağıdaki komutu çalıştırın:
ossutil website --method get oss://examplebucketBenzer bir çıktı görüntülenirse examplebucket paketinin web sitesiyle ilgili yapılandırmaları sorgulanmış demektir:
<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> <SupportSubDir>false</SupportSubDir> <Type>0</Type> </IndexDocument> <ErrorDocument> <Key>error.html</Key> </ErrorDocument> <RoutingRules> <RoutingRule> <RuleNumber>1</RuleNumber> <Condition> <KeyPrefixEquals>abc/</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> </Condition> <Redirect> <RedirectType>Mirror</RedirectType> <PassQueryString>true</PassQueryString> <MirrorURL>http://example.com/</MirrorURL> <MirrorPassQueryString>true</MirrorPassQueryString> <MirrorPassOriginalSlashes>false</MirrorPassOriginalSlashes> <MirrorFollowRedirect>true</MirrorFollowRedirect> <MirrorIsExpressTunnel>false</MirrorIsExpressTunnel> <MirrorUserLastModified>false</MirrorUserLastModified> <MirrorCheckMd5>false</MirrorCheckMd5> <MirrorSwitchAllErrors>false</MirrorSwitchAllErrors> <MirrorHeaders> <PassAll>true</PassAll> <Pass>myheader-key1</Pass> <Pass>myheader-key2</Pass> <Remove>myheader-key3</Remove> <Remove>myheader-key4</Remove> <Set> <Key>myheader-key5</Key> <Value>myheader-value5</Value> </Set> </MirrorHeaders> <MirrorUsingRole>false</MirrorUsingRole> <MirrorAllowHeadObject>false</MirrorAllowHeadObject> <EnableReplacePrefix>false</EnableReplacePrefix> </Redirect> </RoutingRule> <RoutingRule> <RuleNumber>2</RuleNumber> <Condition> <IncludeHeader> <Key>host</Key> <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals> </IncludeHeader> <KeyPrefixEquals>abc/</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> </Condition> <Redirect> <RedirectType>AliCDN</RedirectType> <Protocol>http</Protocol> <HostName>example.com</HostName> <PassQueryString>false</PassQueryString> <ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith> <EnableReplacePrefix>false</EnableReplacePrefix> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration> 0.157648(s) elapsed
-
Web sitesiyle ilgili yapılandırmaları silme
-
Komut sözdizimi
ossutil website --method delete oss://bucketname -
Örnekler
examplebucket adlı paketin web sitesiyle ilgili yapılandırmalarını silmek için aşağıdaki komutu çalıştırın:
ossutil website --method delete oss://examplebucketBenzer bir çıktı görüntülenirse paketin web sitesiyle ilgili yapılandırmaları silinmiş demektir:
0.212409(s) elapsed
Ortak seçenekler
Farklı bir bölgedeki bir pakete erişmek için uç noktayı belirtmek üzere -e seçeneğini kullanın. Farklı bir Alibaba Cloud hesabına ait bir pakete erişmek için AccessKey ID için -i ve AccessKey Secret için -k seçeneğini kullanın.
Örneğin, Çin (Hangzhou) bölgesinde bulunan ve başka bir Alibaba Cloud hesabına ait testbucket adlı bir pakete web sitesiyle ilgili yapılandırmalar eklemek için aşağıdaki komutu çalıştırabilirsiniz:
ossutil website --method put oss://testbucket localfile.xml -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret