目次:
Odooは世界で最も人気のあるビジネスソフトウェアの1つであり、顧客関係管理(CRM)、販売時点管理、プロジェクト管理、在庫管理、自動請求、会計、eコマース、在庫管理、はるかに。
Odooには組み込みのWebサーバーが付属していますが、ほとんどの場合、クライアントとOdooサーバー間の仲介として機能するリバースプロキシをその前に置くことをお勧めします。
このガイドでは、NginxをSSL終了およびOdooへのリバースプロキシとして使用する方法について説明します。
前提条件
このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。
- Odooがインストールされています。そうでない場合は、こちらの手順をご覧ください。Odooのインストールを指すドメイン名があります。
odoo.example.com
を使用しodoo.example.com
。このガイドを確認しない場合、Nginxがインストールされています。ドメインにSSL証明書がインストールされています。 このガイドに従って、無料のLet's Encrypt SSL証明書をインストールできます。
Nginxをリバースプロキシとして構成する
リバースプロキシを使用すると、負荷分散、SSL終了、キャッシュ、圧縮、静的コンテンツの提供など、多くの利点が得られます。
この例では、SSL終了、HTTPからHTTPSへのリダイレクトを構成し、静的ファイルをキャッシュし、GZip圧縮を有効にします。
以下は、Odooのインストールに使用できるサンプルnginx構成ファイル(サーバーブロック)です。 すべてのHTTP要求はHTTPSにリダイレクトされます。
テキストエディターを開き、次のファイルを作成します。
sudo nano /etc/nginx/sites-enabled/odoo.example.com
/etc/nginx/sites-enabled/odoo.example.com
upstream odoo { server 127.0.0.1:8069; } upstream odoo-chat { server 127.0.0.1:8072; } server { server_name odoo.example.com; return 301 https://odoo.example.com$request_uri; } server { listen 443 ssl http2; server_name odoo.example.com; ssl_certificate /path/to/signed_cert_plus_intermediates; ssl_certificate_key /path/to/private_key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_dhparam /path/to/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates; resolver 8.8.8.8 8.8.4.4; access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; location / { proxy_redirect off; proxy_pass http://odoo; } location /longpolling { proxy_pass http://odoo-chat; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
odoo.example.comをOdooドメインに置き換え、SSL証明書ファイルの正しいパスを設定することを忘れないでください。
完了したら、ファイルを保存し、Nginxサービスを再起動します:
バインディングインターフェイスを変更する
この手順はオプションですが、セキュリティ上の良い習慣です。
デフォルトでは、Odooサーバーはすべてのインターフェイスでポート
8069
をリッスンします。 Odooインスタンスへの直接アクセスを無効にする場合は、Odoo構成ファイルを開き、ファイルの最後に次の2行を追加します。
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
設定ファイルを保存し、Odooサーバーを再起動して変更を有効にします。
結論
このチュートリアルでは、NginxをOdooアプリケーションのプロキシとして設定する方法を学びました。 自動Odooバックアップのセットアップ方法についても読むことができます。
odoo nginxプロキシssl