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
}