2017-01-26 3 views
0

У меня есть 2 linux-сервера в моей локальной сети. Я использую ПК с IP 192.168.1.111 в качестве сервера приложений для запуска моего приложения-узла на порту 8080. В качестве веб-сервера я использую NGINX на ПК с IP 192.168.1.100 и настроил его как обратный прокси-сервер.NGINX как обратный прокси не может отображать статические общедоступные файлы

В сетевой вкладке браузера Я вижу, что все файлы обслуживаются должным образом (статус 200 OK). Но все статические файлы не отображаются.

статические файлы (CSS, JS, изображения, шрифты) расположены в подпапки внутри /var/www/domain.com/public

Любая идея, почему возникает этот вопрос?

Вот мой nginx.conf файл:

user www-data; 
worker_processes 2; 
pid /run/nginx.pid; 

events { 
     worker_connections 768; 
     # multi_accept on; 
} 

http { 
     sendfile on; 
     tcp_nopush on; 
     tcp_nodelay on; 
     keepalive_timeout 65; 
     types_hash_max_size 2048; 
     # server_tokens off; 

     # server_names_hash_bucket_size 64; 
     # server_name_in_redirect off; 

     include /etc/nginx/mime.types; 
     default_type application/octet-stream; 

     access_log /var/log/nginx/domain.com/access.log; 
     error_log /var/log/nginx/domain.com/error.log; 

     gzip on; 
     gzip_disable "msie6"; 

     include /etc/nginx/conf.d/*.conf; 
     include /etc/nginx/sites-enabled/*; 
} 

Здесь /etc/nginx/sites-enabled/domain.com файл

upstream appserver { 
     server 192.168.1.111:8080; 
} 

server { 

     listen 80; 

     server_name domain.com www.domain.com; 
     root /var/www/domain.com/public; 

     location ~ ^/(images/|js/|css/|media/|favicon.ico) { 
       #access_log off; 
       expires off; 
     } 

     location/{ 
       proxy_pass http://appserver; 
       include /etc/nginx/proxy_params; 
       proxy_http_version 1.1; 
       proxy_set_header Upgrade $http_upgrade; 
       proxy_set_header Connection "upgrade"; 
     } 
} 

А вот файл access.log

192.168.1.105 - - [26/Jan/2017:21:33:54 +0100] "GET /images/shop.png HTTP/1.1" 200 13643 "http://192.168.1.100/home" "Mozilla/5.0 (X11; Linux x86_64) ..." 
192.168.1.105 - - [26/Jan/2017:21:33:54 +0100] "GET /images/code.png HTTP/1.1" 200 13443 "http://192.168.1.100/home" "Mozilla/5.0 (X11; Linux x86_64) ..." 
192.168.1.105 - - [26/Jan/2017:21:33:54 +0100] "GET /images/line.png HTTP/1.1" 200 13643 "http://192.168.1.100/home" "Mozilla/5.0 (X11; Linux x86_64) ..." 
+0

имеют вас попытался добавить 'try_files $ uri = 404' в вашем местоположении? – keja

+0

№ Это не помогает – nanachimi

ответ

0

Конфигурация я отвечал правильно. Исправление этих проблем фактически изменило право собственности на корневую папку для статических файлов на pro.

Разрешение перед:

drwxr-xr-x 2 www-data root 4096 Jan 26 15:01 css/ 
drwxr-xr-x 2 www-data root 4096 Jan 26 15:01 fonts/ 
drwxr-xr-x 2 www-data root 4096 Jan 26 15:01 images/ 
drwxr-xr-x 2 www-data root 4096 Jan 26 16:17 js/ 
[email protected]:~$ 

Разрешение после (это работает):

drwxrwxr-x 2 webmaster webmaster 4096 Jan 26 00:00 css/ 
drwxrwxr-x 2 webmaster webmaster 4096 Jan 13 00:15 fonts/ 
drwxrwxr-x 2 webmaster webmaster 4096 Jan 13 00:15 images/ 
drwxrwxr-x 2 webmaster webmaster 4096 Jan 26 16:50 js/ 
[email protected]:~$ 

Для изменения владельца и установить правильное разрешение выполнить следующие команды:

sudo chmod 775 /var/www/domain.com/public/ -R 
sudo chown -R webmaster:webmaster /var/www/domain.com/public/ 
1

Я не большой с регулярным экспрессом ионов и nginx, но это то, как я это делаю, и это работает для меня. , в основном получая путь к каталогу и файлу, отправляемый на URL-адрес get, а затем передавая его в общедоступный путь псевдонима. Кажется, вы получаете местоположение и ничего не делаете с ним, кроме как отключить «expires».

место ~ ^/(? [^ /] +)/(? [^ /] +) $ {

  gzip on;    
      alias /nodeproj/public/$dir/$file; 

    } 
+0

Мой узел (сервер приложений) не находится на той же машине, что и прокси NGINX. Согласно документации, которую я прочитал, настройка корневой директивы на уровне сервера будет применяться в блоке местоположения. – nanachimi

 Смежные вопросы

  • Нет связанных вопросов^_^