久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行web訪問xen及console分析

157次閱讀
沒有評論

共計 2920 個字符,預計需要花費 8 分鐘才能閱讀完成。

如何進行 web 訪問 xen 及 console 分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

基本概念

了解基本概念可以方便我們搜索查詢

 xen:hypervisor

 xenserver:hypervisor+api+tools(企業)

 xcp:hypervisor+api+tools(社區)

 xenapi:The management API exposed by XenServer and XCP.

 xapi:The primary daemon on XenServer and Xen Cloud Platform; The one that exposes the XenAPI.

 xencenter:客戶端(應用程序),不支持 api 調用。

  控制臺流程:client(瀏覽器)——xenserver(API):必須確保客戶端(瀏覽器)與 vm 所在 xenserver 能夠直接通信

樣例說明

xapi-console:https://github.com/xapi-project/xen-api

  其中 xapi 項目是針對 xenapi 的使用樣例,這個是關鍵。我使用的是上面地址內的 java 包下的源碼,注意使用這些源碼需要引用 xenapi 相關依賴 jar 包。

        1. 除了上面地址中的源碼外,你需要 xenserver.jar,ws-commons-util.jar,xmlrpc-client.jar,xmlrpc-common.jar 四個 jar 包依賴。這些包可去官方下載,或者通過 maven 庫下載。

        2. 除了上面地址中的源碼外,你需要 xenapi 的源碼和額外的 ws-commons-util,xmlrpc-client,xmlrpc-common 三個 jar 包,依賴說明可以參考官方文檔,下載可以通過 maven 庫。

  以上兩種方法都行,意義在于理解 xapi 項目與 xenapi 項目的區別。

        上面地址中的 java 源碼介紹,主要關注三個 java 文件和一個 html 文件,Initialize.java 和 examples 下的兩個 java 文件,console.html 文件,其中 console.html 告訴我們如何引用 java applet 插件,examples 下的兩個 java 可以直接以應用程序運行,主要告訴我們如何獲取 vm,獲取 vm 的 console,如何使用 VNC 獲取 console 流。Initialize.java 是個標準的 applet,也就是 console.html 里引用的插件,你可以修改 Initialize.java 以達到你想要的場景。

    關于 html 引用 applet 的說明:codebase 的路徑不可以在 WEB-INF 下;archive 默認去 codebase 下加載指定的包(xenapi 相關的四個和上面 xapi-console 源碼打包的 jar),code 也是默認去 codebase 下加載;PARAM 標簽為參數值,html 如何向 applet 傳參可以百度。

  以上基本就完成了編碼工作,剩下的就是經常遇到的問題,無法加載和顯示 applet,無法讀取 xenserver 的 console 流

無法加載 applet

            安裝 JRE 插件,將 url 添加到客戶端 JRE 的例外站點中。windows 下控制面板——java 程序——安全。

            根據錯誤日志不斷修改 code,codebase,archive 內容,直到能加載出來按鈕。

無法讀取 console 流

  對上面的五個 jar 進行簽名,流程如下:

  使用 keytool 工具生成密匙庫  

 1.keytool 工具位于 ${java_home}/bin 目錄下; 

 2. 在 DOS 窗口中執行命令:keytool -genkey -keystore mytest.store -alias mbq 

  注意:mytest.store 是你的密匙庫的名稱,可以隨意修改,后綴請不要修改! 

  如果需要可以添加參數 DOS 命令 keytool -genkey -keystore mytest.store -alias mbq -validity 3650

 -validity 3650 表示的是有效期是 3650 天,默認情況是六個月有效期。

 mbq 為別名,這個也可以改成自己的名稱  

 3. 執行上述命令后,DOS 窗口中會提示你輸入 keystore 的密碼、你的姓名、組織單位等等信息。

  這里要注意的是輸入密碼請記住,后面要用到的。在最后,我們輸入 y 確認信息。

  然后再直接回車設置 mbq 的主密碼和 store 密碼一致即可! 

  使用 keytool 工具導出簽名時用到的證書  

 1. 在 DOS 窗口中執行命令:keytool -export -keystore mytest.store -alias mbq -file mbq.cert 

  注意:mytest.store 就是第二步生成的密匙庫名稱  

 mbq 也是在第上一步中我們指定的別名  

 mbq.cert 為我們生成的證書的名稱,可以自己修改名稱,注意后綴不要改  

 2. 命令執行成功,我們會在當前目錄下找到一個 mbq.cert 文件,這個就是我們剛才生成的證書。 

  使用 jarsigner 工具簽名 jar 壓縮文檔  

 1.jarsigner 工具位于 ${java_home}/bin 目錄下; 

 2. 在當前 DOS 窗口中執行命令:jarsigner -keystore mytest.store mytest.jar mbq 

  注意:mytest.store 就是我們在第二步中生成的密匙庫名稱  

 mytest.jar 就是我們要簽名的五個包

 mbq 是提供者的名稱,我們這里設置為我們的別名  

  修改客戶端的程序是需要重新打包和簽名。

  創建 mytest.policy 文件  

 1. 在當前目錄下創建一個 mytest.policy 文件,其內容如下: 

 keystore file:mytest.store , JKS  

 grantsignedBy mbq  

 { 

 permission java.io.FilePermission ALLFILES , read  

 }; 

 2. 這個文件的意思就是說讓所有由 mbq 簽名的 applet 都可以對本地的所有文件進行讀操作。 

  保證五個簽了名的 jar 和.policy 策略文件,.cert 證書文件,.store 密鑰庫文件,都在 codebase 目錄下。

偶爾被安全策略阻止

            這個問題一直無法找到原因,可能是瀏覽器阻止后提示消失,我們無法進行允許確認。

  需要修改 JRE 下的 /lib/security/java.policy,在 grant 內添加

 permission java.net.SocketPermission * , accept, connect, listen, resolve

 permission java.security.AllPermission;

 permission java.io.FilePermission ALL FILES , read,write

看完上述內容,你們掌握如何進行 web 訪問 xen 及 console 分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計2920字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 青浦区| 平远县| 富民县| 积石山| 三都| 静乐县| 清苑县| 姜堰市| 五河县| 张家川| 文安县| 黄龙县| 腾冲县| 樟树市| 怀柔区| 合川市| 东港市| 瑞丽市| 莱芜市| 周至县| 宜城市| 乌苏市| 安庆市| 苍梧县| 吴忠市| 乌兰察布市| 洛扎县| 府谷县| 尼木县| 永兴县| 慈利县| 德昌县| 册亨县| 韩城市| 沙洋县| 安泽县| 扶绥县| 定南县| 体育| 康马县| 萝北县|