今天就跟大家聊聊有關如何開啟OpenStack Api跨域請求CORS功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
我們提供的服務有:成都網站制作、成都做網站、微信公眾號開發、網站優化、網站認證、新民ssl等。為超過千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的新民網站制作公司
如果你打算在js中使用openstack接口(如jstack),就會碰到js的跨域請求問題,解決方法是要在openstack api的response中加上Access-Control-Allow-Origin: *
這樣的頭信息。
##反向代理 如果給api配置了反向代理,可以參考:http://enable-cors.org/server.html
##配置wsgi 幾乎所有的openstack api都使用了wsgi服務,我們可以在wsgi這層設置CORS信息。
首先安裝一個python模塊
pip install wsgicors
###讓Keystone支持CORS 編輯/etc/keystone/keystone-paste.ini
,新增如下內容:
[filter:cors] use = egg:wsgicors#middleware policy = open open_origin = * open_headers = * open_methods = * open_maxage = 86400
然后,在每個pipeline的開頭加上cors
,例如:
[pipeline:public_api] pipeline = cors stats_monitoring sizelimit url_normalize build_auth_context token_auth admin_token_auth xml_body_v2 json_body ec2_extension user_crud_extension public_service [pipeline:admin_api] pipeline = cors sizelimit url_normalize build_auth_context token_auth admin_token_auth xml_body_v2 json_body ec2_extension s3_extension crud_extension admin_service [pipeline:api_v3] pipeline = cors stats_reporting sizelimit url_normalize build_auth_context token_auth admin_token_auth xml_body_v3 json_body ec2_extension_v3 s3_extension simple_cert_extension revoke_extension service_v3 [pipeline:public_version_api] pipeline = cors sizelimit url_normalize xml_body public_version_service [pipeline:admin_version_api] pipeline = cors sizelimit url_normalize xml_body admin_version_service
最后重啟服務
service keystone restart
###讓nova-api支持CORS 編輯/etc/nova/api-paste.ini
,新增如下內容:
[filter:cors] use = egg:wsgicors#middleware policy = open open_origin = * open_headers = * open_methods = * open_maxage = 86400
然后,在每個pipeline的開頭加上cors
,例如:
[composite:openstack_compute_api_v2] use = call:nova.api.auth:pipeline_factory noauth = cors compute_req_id faultwrap sizelimit noauth ratelimit osapi_compute_app_v2 keystone = cors compute_req_id faultwrap sizelimit authtoken keystonecontext ratelimit osapi_compute_app_v2 keystone_nolimit = cors compute_req_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v2 [composite:openstack_compute_api_v21] use = call:nova.api.auth:pipeline_factory_v21 noauth = cors request_id faultwrap sizelimit noauth osapi_compute_app_v21 keystone = cors request_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v21 [composite:openstack_compute_api_v3] use = call:nova.api.auth:pipeline_factory_v21 noauth = cors request_id faultwrap sizelimit noauth_v3 osapi_compute_app_v3 keystone = cors request_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v3
最后重啟nova-api
service nova-api restart
看完上述內容,你們對如何開啟OpenStack Api跨域請求CORS功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。
名稱欄目:如何開啟OpenStackApi跨域請求CORS功能
鏈接分享:http://vcdvsql.cn/article6/pphgig.html
成都網站建設公司_創新互聯,為您提供響應式網站、面包屑導航、網站制作、企業建站、品牌網站制作、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯