【Odoo 8開發教程】第二章:Odoo生產環境部署設置


轉載請注明原文地址:https://www.cnblogs.com/ygj0930/p/10826302.html 

 

一:dbfilter 數據庫訪問規則設置

    一個odoo實例可以連接到不同的數據庫實例中,但某個時間只有一個數據庫為odoo實例提供服務。當一個odoo實例有多個數據庫可供操作時,用戶每次登錄時都需要先選擇一個數據庫才能跳轉到登陸界面,這在生產環境中會讓用戶產生很大的困惑。因此,我們需要在生產環境中指定一個規則,讓用戶只能看到一個數據庫並默認連接。

    在啟動文件.conf中,可以通過 dbfilter(注意,無下划線) 指定一個 正則表達式 ,指定一個默認的數據庫。

    處理配置文件,也可以在命令行啟動odoo時,通過參數 --db-filter=正則表達式 來指定一個默認數據庫。

    注意:對於website模塊,必須指定dbfilter才能正常使用。

 

二:PostgreSQL 數據庫連接設置

    odoo與postgreSQL通過UNIX socket連接。

    需要在odoo的啟動配置文件.conf中配置postgreSQL的相關信息,以便odoo通過SSH連接到數據庫。

db_host = 數據庫ip地址
db_port = 數據庫端口,默認5432 db_user = 數據庫賬號 db_password = 數據庫秘密 db_maxconn = 數據庫連接池最大容量 db_name = 指定操作的數據庫,如果不指定,則在多個數據庫時用戶需要手動選擇數據庫

 

    odoo的數據庫受到超級密碼保護,當在配置文件中配置了admin_passwd時,在數據庫管理頁面對數據庫的備份、復制、刪除、創建等操作都需要輸入正確的admin_passwd才能繼續操作。

    為安全起見,一般將admin_passwd設置為隨機數或者MD5加密后的字符串。

 

三:HTTPS 網絡連接安全

    odoo的數據傳輸和身份驗證信息都需要通過https協議來保證其安全性。

    我們可以使用SSL協議來加密我們的數據傳輸,使用Nginx作為SSL終端來實現:

    1)在odoo配置文件中,啟用odoo的代理模式:proxy_mode = True【注意:此時,需要odoo作為nginx反向代理的對象才行】

    2)設置Ngnix反向代理,指向odoo系統的域名:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

    3)將Ngnix設置成為一個HTTPS Server,並使用ssl加密傳輸:https://docs.nginx.com/nginx/admin-guide/security-controls/terminating-ssl-http/

 

    附:SSL

    SSL位於應用層和傳輸層之間,它可以為任何基於TCP等可靠連接的應用層協議提供安全性保證。

    SSL協議可分為兩層:

    SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。

    SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。

 

四:Builtin Server 內置的HTTP服務器

    odoo包含一個內置的HTTP服務器,支持多進程來處理工作。

    我們可以在配置文件中,指定進程的worker數,來更好地利用計算資源。

    worker數量應該基於機器中的核心數量(可能為cron worker提供一些空間,具體取決於預測的cron工作量)

workers = 一個非0的整數

    注意:當在配置中配置了workers時,就啟用了多進程模式。

 

五:Odoo作為WSGI應用

    可以將odoo部署為一個單純的WSGI應用,此時將不可通過http訪問。

    在配置文件中配置:

xmlrpc = False

    或啟動命令時通過參數 --no-xmlrpc 禁用網絡訪問。

 

六:提供靜態文件

    出於開發便捷,odoo在模塊下的 static/ 文件夾中提供靜態文件服務,這對性能會有稍微的影響。

    我們可以通過將各個模塊的靜態文件提取出來,放到一個專門的HTTP服務器中管理,然后攔截所有的文件請求重定向到文件服務器中。

 

七:安全

    數據庫管理頁面中可以進行數據庫的創建、備份、復制、還原、刪除操作,這有一定風險。

    1、設置admin_passwd

    我們可以在配置文件中設置admin_passwd,並且該密碼必須僅掌握在系統管理員手中,使用隨機生成或者MD5加密過的字符串。

    2、禁止訪問數據庫管理頁面

    通過Nginx代理設置,攔截所有 /web/database/* 格式的網絡請求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM