จะกำหนดค่า Odoo 8 ด้วย SSL ได้อย่างไร?


1

ฉันติดตั้ง Odoo บนเซิร์ฟเวอร์และทำงานได้ดี ตอนนี้ฉันกำลังพยายามกำหนดค่าไซต์ใน Nginx เพื่อเรียกใช้ Odoo ด้วยโปรโตคอล SSL ฉันทำสิ่งนี้ครั้งอื่น แต่ตอนนี้ฉันไม่สามารถจัดการได้และฉันก็ไม่ได้เพราะอะไร

ฉันได้สร้างเว็บไซต์นี้ใน Nginx ในโฟลเดอร์ที่มีไซต์ (ฉันตรวจสอบว่าลิงก์สัญลักษณ์ที่เกี่ยวข้องในการเปิดใช้งานไซต์นั้นใช้ได้):

upstream backend-odoo {
    server 127.0.0.1:30081;
}

upstream backend-odoo-im {
    server 127.0.0.1:32081;
}

server {
    listen 80;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://$host$request_uri? permanent;
}

server {
    listen 443 default;

    # ssl settings
    ssl on;
    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
    keepalive_timeout 60;

    # proxy header and settings
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect off;

    # odoo log files access_log /var/log/nginx/odoo-access.log;
    error_log /var/log/nginx/odoo-error.log;

    # increase proxy buffer size
    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    # force timeouts if the backend dies
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

    # enable data compression
    gzip on;
    gzip_min_length 1100;
    gzip_buffers 4 32k;
    gzip_types text/plain application/x-javascript text/xml text/css;
    gzip_vary on;

    location / {
        proxy_pass http://backend-odoo;
    }

    location ~* /web/static/ {
        # cache static data
        proxy_cache_valid 200 60m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://backend-odoo;
    }

    location /longpolling {
        proxy_pass http://backend-odoo-im;
    }
}

ฉันรีโหลดและรีสตาร์ต Nginx แล้ว ฉันยังแก้ไขพารามิเตอร์ต่อไปนี้ในไฟล์กำหนดค่า Odoo:

longpolling_port = 32081
proxy_mode = True
secure_cert_file = /etc/nginx/ssl/cert.pem
secure_pkey_file = /etc/nginx/ssl/key.pem
workers = 33
xmlrpc = True
xmlrpc_interface = 127.0.0.1
xmlrpc_port = 30081
xmlrpcs = True
xmlrpcs_interface = 127.0.0.1
xmlrpcs_port = 31081

ฉันรีสตาร์ทบริการ Odoo ฉันตรวจสอบพอร์ตที่เปิดที่เซิร์ฟเวอร์กำลังดำเนินการคำสั่งnmap -sT -O localhostที่เซิร์ฟเวอร์ ผลลัพธ์:

PORT     STATE SERVICE
80/tcp   open  http
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
5432/tcp open  postgresql
8022/tcp open  oa-system

ในการเข้าถึงเซิร์ฟเวอร์จากเบราว์เซอร์ฉันพิมพ์local.example.comบน URL และมันยังคงโหลดตลอดไป ฉันได้ลองกับhttps://local.example.com แล้วแต่ผลลัพธ์เดียวกัน ฉันเห็นข้อความล้มเหลวในการโหลดทรัพยากร: net :: ERR_CONNECTION_TIMED_OUTที่คอนโซล JS ของเบราว์เซอร์

ฉันลืมอะไรไป มีใครช่วยฉันทีได้ไหม ตอนนี้ฉันหลงทางมาก

คำตอบ:


0

ก่อนอื่นเราไม่ชัดเจนที่นี่ประเภทของใบรับรอง SSL ที่คุณใช้

ประเภทของคำถามใบรับรอง SSL local.example.comได้รับการยกนี่เพราะคุณกำลังพยายามที่จะเข้าชื่อโดเมนย่อยผ่าน หากใบรับรองของคุณได้รับการตรวจสอบความถูกต้องของโดเมนหรือใบรับรอง SSL มาตรฐานแล้วใบรับรองนั้นจะไม่ทำงาน

ตอนนี้เราอาจคิดว่าปัญหาความกังวลอยู่ที่นี่คุณควรเพิ่มตัวกลางและใบรับรองหลักในCert.pemโฟลเดอร์ขณะติดตั้งใบรับรอง SSL

ใช้วิธีแก้ปัญหาข้างต้นแล้วลองติดตั้งใบรับรองของคุณอีกครั้ง แต่ก่อนอื่นคุณควรยืนยันประเภทใบรับรอง SSL ของคุณเนื่องจากคุณพยายามเข้าถึงชื่อโดเมนย่อยและต้องการใบรับรอง Wildcard SSL


ขอบคุณสำหรับการตอบ! ฉันสร้างใบรับรอง SSL ด้วยคำสั่งนี้: sudo openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes. ฉันควรลบออกไหม
forvas

เราไม่แน่ใจว่ายังมีปัญหาอะไรอีกบ้างในใบรับรอง SSL ของคุณ เราขอแนะนำให้คุณตรวจสอบด้วยเครื่องมือตรวจสอบใบรับรอง SSL มันจะทำให้คุณมีความคิดที่ชัดเจนว่าไม่ว่าคุณจะขาดใบรับรองกลางหรือใบรับรองรูท หรือคุณกำลังพยายามใช้ประเภทใบรับรอง SSL ผิด
Jim Aron

0

ใช้การตั้งค่า Apache2 กับhttps://letsencrypt.org/

ในไซต์ที่เปิดใช้งานสร้าง:

  <VirtualHost *:80>
       ServerName trump4ever.com
       ServerAlias www.trump4ever.com
       Redirect / https://trump4ever.com/
  </VirtualHost>

  <VirtualHost *:443>
       ServerName trump4ever.com
       ServerAlias trump4ever.com

       LogLevel warn
       ErrorLog /var/log/apache2/trump4ever.com.error.log
       CustomLog /var/log/apache2/trump4ever.com.access.log combined

       SSLEngine on
       SSLProxyEngine on
       SSLCertificateFile /etc/letsencrypt/live/trump4ever.com/fullchain.pem
       SSLCertificateKeyFile /etc/letsencrypt/live/trump4ever.com/privkey.pem

       ProxyPreserveHost On
       ProxyPass / http://localhost:9960/ retry=0
       ProxyPassReverse / http://localhost:9960/
  </VirtualHost>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.