Nginx не может отображать статические файлы из Mojolicous

Используя morbo, статические файлы обрабатываются для всех страниц. Однако с сервером hypnotoad, использующим Nginx в качестве прокси, страница загружается, но статические файлы внутри не отображаются - даже не значок, а при вызове статической страницы html в том же приложении отображаются как изображения, так и значок. Что может не хватать?

         upstream backendurl {
    server 127.0.0.1:8080  fail_timeout=0;
}

server {
  listen  80;
  listen [::]:80;
  server_name example.com www.example.com ;

  access_log /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log info;
  root /var/www/example.com/public;
 
  location / {
    try_files $uri @proxy;
    access_log off;
    expires max;
    add_header 'Access-Control-Allow-Origin' 'http://example.com';
  }
  

  location @proxy {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass       http://backendurl;
  }
}

1 ответ

Решение Apache2 дало несколько подсказок: https://github.com/mojolicious/mojo/wiki/Apache-deployment
Успешное решение для Nginx было найдено следующим образом:

      upstream backendurl {
    server 127.0.0.1:8080  fail_timeout=0;
}
 
server {
  listen  443 ssl;
  listen [::]:443 ssl;
  server_name myexample.com www.myexample.com;
 
  access_log /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log info;
  root /home/sammy/simple_image/public;
  
  location / {
    try_files $uri @proxy;
    access_log off;
    expires max;
    add_header 'Access-Control-Allow-Origin' 'https://myexample.com';
  }
  
    location /static {
    try_files $uri @proxy;
    access_log off;
    expires max;
    add_header 'Access-Control-Allow-Origin' 'https://myexample.com';
  }
 
  location @proxy {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass       http://backendurl;
  }
  
    ssl_prefer_server_ciphers on;
      #add all the necessary ssl files, (eg .crt and key files) and links here
}
Другие вопросы по тегам