0

I installed successfully Odoo 16 on Ubuntu 22. (Yenthe script) When I run Odoo directly with the IP address on port 8069 everything functions. But when I run it with a domain name with a server block several things happen: The initial website generation gets stuck in an endless loop. After letting it run for a long time when I refresh the screen the website is created but I cannot edit it. I can click on the frontend editor button in the top left area but the edit mode does not appear. The editible area changes into dark grey with a large circle circling endlessly. When I alternate the same app wit the Ip number it works without a problem.

I am using cloudflare.

First I suspected the server block but I have been using suggested variations but no changes. The error log does not show obvious errors.

Does anyone out there have a similar experience? Are there solutions?


  server {
  listen 80;

  # set proper server name after domain set
  server_name spiritpointacupressure.com;

  # Add Headers for odoo proxy mode
  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;
  add_header X-Frame-Options "SAMEORIGIN";
  add_header X-XSS-Protection "1; mode=block";
  proxy_set_header X-Client-IP $remote_addr;
  proxy_set_header HTTP_X_FORWARDED_HOST $remote_addr;

  #   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;

  proxy_read_timeout 900s;
  proxy_connect_timeout 900s;
  proxy_send_timeout 900s;

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

  types {
    text/less less;
    text/scss scss;
  }

  #   enable  data    compression
  gzip    on;
  gzip_min_length 1100;
  gzip_buffers    4   32k;
  gzip_types  text/css text/less text/plain text/xml application/xml application/json application/javascript application/pdf image/jpeg image/png;
  gzip_vary   on;
  client_header_buffer_size 4k;
  large_client_header_buffers 4 64k;
  client_max_body_size 0;

  location / {
    proxy_pass    http://127.0.0.1:8069;
    # by default, do not forward anything
    proxy_redirect off;
  }

  location /longpolling {
    proxy_pass http://127.0.0.1:8072;
  }

  location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
    expires 2d;
    proxy_pass http://127.0.0.1:8069;
    add_header Cache-Control "public, no-transform";
  }

  # cache some static data in memory for 60mins.
  location ~ /[a-zA-Z0-9_-]*/static/ {
    proxy_cache_valid 200 302 60m;
    proxy_cache_valid 404      1m;
    proxy_buffering    on;
    expires 864000;
    proxy_pass    http://127.0.0.1:8069;
  }
}
Machavity
  • 30,841
  • 27
  • 92
  • 100
elf
  • 113
  • 5

1 Answers1

1

Just add this line on your nginx config file, on server block. It hangs because a request is send over http instead of https.

add_header 'Content-Security-Policy' 'upgrade-insecure-requests'; 

I tried with Odoo 16 CE, on ubuntu 22.04, and it works fine