У меня есть сервер с двумя веб-сайтами, A и B. Конфигурация nginx для моего сервера довольно проста:
server {
listen 80;
server_name <url>;
location / {
proxy_pass http://localhost:<port>;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Оба веб-сайта обслуживаются нормально, за исключением веб-сайта B, на котором отображается значок веб-сайта A. Однако он работает, если я пытаюсь получить доступ к веб-сайту B с помощью <ip address>:<port>
, поэтому я почти уверен, что это проблема конфигурации nginx.
Пробовал всевозможные варианты:
location /favicon.ico {
alias ~/<project folder>/favicon.ico;
}
но безрезультатно.
Мой сервер работает на ubuntu 16.04, а мои веб-сайты работают на NodeJS.
ОБНОВИТЬ:
Я проверил логи nginx и обнаружил следующее:
2017/03/07 22:05:58 [ошибка] 7013 # 7013: * 10 open () "
/root/<project_folder>/favicon.ico
"не удалось (13: в доступе отказано), клиент: 37.59.63.164, сервер:<url>
, запрос: "GET /favicon.ico HTTP / 1.1", хост: "<url>
"
Думаю, это проблема с правами доступа к этому файлу. Однако я не понимаю, почему именно этот файл, поскольку он работает для остальной части папки (включая статику) и на значке моего второго веб-сайта.