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 браузера.

Что я забыл? Кто-нибудь может мне помочь? Я очень потерянный сейчас.

2 ответа2

0

Прежде всего, нам не ясно, какой тип SSL-сертификата вы используете.

Тип вопроса о сертификате SSL был поднят здесь, потому что вы пытаетесь получить доступ к имени субдомена через local.example.com . Если ваш сертификат подтвержден доменом или является стандартным сертификатом SSL, он не будет работать.

Теперь мы можем подумать, что проблема заключается в том, что вы должны добавить свое промежуточное звено и корневой сертификат в папку Cert.pem при установке SSL-сертификата.

Перейдите с вышеупомянутым решением и попробуйте переустановить свой сертификат. Но вы должны сначала подтвердить свой тип сертификата SSL, потому что вы пытаетесь получить доступ к имени субдомена, и для этого требуется сертификат SSL Wildcard.

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>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .