您好,登錄后才能下訂單哦!
這篇文章主要講解了“rgw static websit配置與測試方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“rgw static websit配置與測試方法是什么”吧!
1.該功能僅支持J版本以上版本
2.目前boto測試功能可用
3.對DNS依賴較大,用戶自己需要做一些S3以外的配置
4.需要開放public-read權限,用戶需要做好自身安全配置
5.用于存放靜態頁面數據,html/css/img等,動態頁面不適用
匹配其他所有域名 *.cephbook.com -> 10.63.48.18,最終效果如下
dig a.cephbook.com #輸入任意域名 ; <<>> DiG 9.8.3-P1 <<>> a.cephbook.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13927 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 10 ;; QUESTION SECTION: ;a.cephbook.com. IN A ;; ANSWER SECTION: a.cephbook.com. 600 IN A 10.63.48.18
直接解析主域名 cephbook.com -> 10.63.48.18,最終效果如下
dig cephbook.com ; <<>> DiG 9.8.3-P1 <<>> cephbook.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46079 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 10 ;; QUESTION SECTION: ;cephbook.com. IN A ;; ANSWER SECTION: cephbook.com. 545 IN A 10.63.48.18
如果默認的cephbook.com域名不能滿足用戶個性化的需求,則可以通過添加對應的CNAME記錄來進行補充,
比如用戶擁有自己的域名myitshow.com,需要將所有訪問website3.cephbook.com請求都轉到website3.myitshow.com,可以添加一條CNAME記錄,來實現website3.myitshow.com -> website3.cephbook.com
dig www.myitshow.com ; <<>> DiG 9.8.3-P1 <<>> www.myitshow.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15019 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 10 ;; QUESTION SECTION: ;www.myitshow.com. IN A ;; ANSWER SECTION: www.myitshow.com. 111 IN CNAME website3.cephbook.com.
[client.radosgw.cn-zone1] rgw dns name = s3.ceph.work rgw_dns_s3website_name = myitshow.com #注意這里要用獨立的域名,不可用和rgw dns name重復 rgw_enable_static_website = True #啟用static website rgw frontends = fastcgi socket_port=9000 socket_host=127.0.0.1 rgw_resolve_cname = True #開啟對CNAME的支持 host = demo keyring = /etc/ceph/ceph.client.radosgw.keyring rgw socket path = /home/ceph/var/run/ceph-client.radosgw.cn-zone1.sock log file = /home/ceph/log/radosgw.cn-zone1.log rgw print continue = false rgw content length compat = true
bucket和所有的object都要設置為public-read權限才能對外提供匿名訪問
開啟website以后,默認訪問http://{bucket}.{rgw_dns_s3website_name}/會自動跳轉到http://{bucket}.{rgw_dns_s3website_name}/index.html
開啟website以后"index.html"這個object必須存在,否則404,"error.html"為可選配置
如果需要使用CNAME記錄,則rgw_resolve_cname必須開啟,否則404,具體原因下面有詳細說明
boto用例及說明
from boto.s3.connection import S3Connection import boto import os os.environ['S3_USE_SIGV4'] = 'True' #使用aws4 endpoint = 's3.ceph.work' bucket_name = 'website2' access_key = '' secret_key = '' conn = boto.connect_s3( aws_access_key_id=access_key, aws_secret_access_key=secret_key, host=endpoint, is_secure=False, calling_format=boto.s3.connection.SubdomainCallingFormat(), validate_certs=True, ) website_bucket = conn.create_bucket(bucket_name,policy='public-read') #新建bucket #新建index.html頁面和error.html頁面內容 index_html = """ <html> <head><title>S3 Webpage demo</title></head> <body><h3>S3-based website</h3></body> </html>""" error_html = """ <html> <head><title>S3 Webpage error</title></head> <body><h3>Something is wrong!</h3></body> </html>""" index_key = website_bucket.new_key('index.html') index_key.content_type = 'text/html' #注意content-type設置 index_key.set_contents_from_string(index_html, policy='public-read') #注意必須是public-read權限 error_key = website_bucket.new_key('error.html') error_key.content_type = 'text/html' error_key.set_contents_from_string(error_html, policy='public-read') website_bucket.configure_website('index.html', 'error.html') #設置website print website_bucket.get_website_configuration() #獲取website配置 #website_bucket.delete_website_configuration() #刪除website配置
直接訪問
curl http://website3.cephbook.com/ <html> <head><title>S3 Webpage demo</title></head> <body><h3>S3-based website</h3></body> </html>%
使用cname方式進行訪問
curl http://www.myitshow.com/ <html> <head><title>S3 Webpage demo</title></head> <body><h3>S3-based website</h3></body> * Connection #0 to host website3.cephbook.com left intact </html>%
這里有個坑,如果使用了CNAME,但是rgw_resolve_cname = False,那么會出現以下404提示
curl http://www.myitshow.com/ <?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchBucket</Code><BucketName>www.myitshow.com</BucketName><RequestId>tx000000000000000000001-0058e46305-85f6-default</RequestId><HostId>85f6-default-default</HostId></Error>%
感謝各位的閱讀,以上就是“rgw static websit配置與測試方法是什么”的內容了,經過本文的學習后,相信大家對rgw static websit配置與測試方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。