場景描述:html
最近在作項目的過程當中,須要須要將odoo應用集成到其餘系統中,nginx
在對方的系統中點擊咱們的應用,打開對應系統,可是界面不作跳轉,在當前頁面打開,而且瀏覽器地址欄只顯示IP+應用名,不讓顯示odoo中的action_id及menu_id等其餘信息!web
如何實現?數據庫
咱們先來看下,odoo程序咱們在瀏覽器訪問時,一般的地址欄信息:IP+端口/web.........各類idubuntu
http://192.168.1.188:8069/web#min=1&limit=80&view_type=list&model=purchase.order&menu_id=216&action=319
當前項目集成要求咱們實現以下效果:域名/應用名瀏覽器
http://www.xxx.com/new_app
待會咱們再說具體如何實現!tomcat
假設咱們能夠實現,是否是就至關於,隱藏了odoo的一些信息,必定程度上提升了應用的安全性!安全
例如:視圖ID,數據庫網頁管理訪問,debug開發者模式等。。。app
實現步驟:webapp
具體不難,咱們換個思路,部署的時候,用tomcat起web服務(ubuntu離線部署tomacat&jdk參考),而後將你的應用名,如new_app 放在webapps中,新建一個index.html靜態頁面,
在靜態頁面中,經過ifram嵌入咱們的實際odoo服務地址,就能夠了!!!
index.html代碼樣例:
<html> <head> <meta charset="utf-8" /> <title>應用名稱</title> </head> <body> <iframe frameborder="0" name="Iframe1" src="http://192.168.1.188:8069" width="100%" height="100%"/> </iframe> </body> </html>
啓動tomcat後,瀏覽訪問下8080端口:
http://192.168.1.188:8080/new_app
如此咱們就實現了第一步!
接着經過nginx反向代理的方式,將對方系統域(www.xxx.com)名代理到咱們的應用地址(http://192.168.1.188:8080/new_app),最終實現經過訪問以下地址進入咱們系統:
http://www.xxx.com/new_app
試試吧!
感謝團隊小夥伴提出的思路建議!