您好,登錄后才能下訂單哦!
如何進行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流
安裝JRE插件,將url添加到客戶端JRE的例外站點中。windows下控制面板——java程序——安全。
根據錯誤日志不斷修改code,codebase,archive內容,直到能加載出來按鈕。
對上面的五個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分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。