Odoo 8을 SSL로 구성하는 방법은 무엇입니까?


1

Odoo를 서버에 설치했는데 제대로 작동합니다. 이제 Nginx에서 SSL 프로토콜로 Odoo를 실행하는 사이트를 구성하려고합니다. 나는 다른 시간에 이것을했지만, 지금은 그것을 관리 할 수 ​​없으며 나는 왜 그렇게하지 않습니다.

Nginx에서이 사이트를 sites-available 폴더 에 만들었습니다 (사이트 의 각 심볼 링크가 활성화되어 있는지 확인했습니다).

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

브라우저에서 서버에 액세스하려면 URL에 local.example.com 을 입력하십시오. 그리고 영원히 로딩됩니다. https://local.example.com을 사용해 보았지만 동일한 결과가 나타납니다. 브라우저 JS 콘솔에서 리소스 : net :: ERR_CONNECTION_TIMED_OUT을로드하지 못했습니다. 라는 메시지 만 볼 수 있습니다 .

나는 무엇을 잊어 버렸는가? 아무도 도와 줄 수 없니? 나는 지금 매우 잃어버린다.

답변:


0

우선, 현재 사용중인 SSL 인증서의 유형을 명확히하지 않습니다.

하위 도메인 이름을 통해 액세스하려고하므로 SSL 인증서 질문 유형이 여기에 제기되었습니다 local.example.com. 인증서가 도메인 유효성 검사 또는 표준 SSL 인증서 인 경우 작동하지 않습니다.

이제 Cert.pemSSL 인증서를 설치하는 동안 관심사 문제가 있다고 생각할 수 있습니다. 중간 인증서와 루트 인증서를 폴더에 추가해야합니다 .

위의 솔루션으로 가서 인증서를 다시 설치하십시오. 하지만 하위 도메인 이름에 액세스하려고하고 와일드 카드 SSL 인증서가 필요하기 때문에 먼저 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

https://letsencrypt.org/에서 Apache2 설정 사용

사용 가능한 사이트에서 만들기 :

  <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.