Odoo 服务器使用nginx配置https

  1. 生成SSL证书文件。能够参考J_z10的博客node

    openssl req -x509 -days 3650 -subj '/CN=odoo.youyun.com/' -nodes -newkey rsa:2048 -keyout server.key -out server.crt
    复制代码

    这里我使用的是腾讯云的免费证书,申请经过后,下载证书便可nginx

  2. /etc/ssl/目录下建立文件夹nginx,并将证书文件和key复制到此文件夹下web

  3. 删除/etc/nginx/sites-available/目录下的default文件bash

  4. /etc/nginx/sites-available/目录下建立文件odoo.confsession

    server {
        listen 443 default;
        server_name _;
    
        access_log /var/log/nginx/odoo.access.log;
        error_log  /var/log/nginx/odoo.error.log;
    
        ssl on;
        ssl_certificate     /etc/ssl/nginx/server.crt;
        ssl_certificate_key /etc/ssl/nginx/server.key;
        ssl_session_timeout 5m;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    
        location / {
            proxy_pass http://127.0.0.1:8069;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    
            proxy_buffer_size 128k;
            proxy_buffers 16 64k;
            proxy_redirect off;
    
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Proto https;
        }
    
       location ~* /web/static/ {
            proxy_cache_valid 200 60m;
            proxy_buffering    on;
            expires 864000;
            proxy_pass http://127.0.0.1:8069;
        }
    }
    
    server {   # 将80端口转到443的https中
        listen 80;
        server_name __;
    
        add_header Strict-Transport-Security max-age=2592000;
        rewrite ^/.*$ https://$host$request_uri? permanent;
    }
    
    server {   # 将特定ip的8069端口转到443的https中
        listen [::]:8069; # 这是虚机的ip
        server_name __;
    
        add_header Strict-Transport-Security max-age=2592000;
        rewrite ^/.*$ https://$host$request_uri? permanent;
    }
    
    复制代码
  5. 创建软链接ui

    sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/odoo.conf 
    复制代码
  6. 重启nginx服务便可spa

    sudo service nginx restart
    复制代码