Если Nginx отображает папку, но не показывает файлы, находящиеся в ней, это может быть связано с тем, что у вас не настроен индексный файл или есть ограничения на отображение содержимого папок. Чтобы Nginx показывал содержимое, находящееся в директории, вы можете добавить директиву `autoindex`.
Для улучшения структуры и ясности вашей конфигурации Nginx, сохраняя все исходные настройки и комментарии, можно внести несколько изменений. Ниже приведен переработанный вариант вашей конфигурации:
```nginx
# Определение сервера по умолчанию
server {
listen [::]:8080 default_server;
listen 8080 default_server;
server_name _;
tcp_nodelay on;
absolute_redirect off;
# Настройка проксирования для первого веб-сокета
location /backend/firstws {
proxy_http_version 1.1;
proxy_set_header Host $host; # Исправлено на «Host»
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade; # Исправлено на «Upgrade»
proxy_set_header Connection "upgrade"; # Исправлено на «Connection»
proxy_read_timeout 1d; # не разрывать соединение после 1 дня бездействия
proxy_pass http://127.0.0.1:7898/;
}
# Настройка проксирования для второго веб-сокета
location /backend/secondws/ {
add_header Access-Control-Allow-Origin *;
proxy_http_version 1.1;
proxy_set_header Host $host; # Исправлено на «Host»
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade; # Исправлено на «Upgrade»
proxy_set_header Connection "upgrade"; # Исправлено на «Connection»
proxy_read_timeout 1d; # не разрывать соединение после 1 дня бездействия
proxy_pass http://127.0.0.1:3000/socket.io/;
}
# Проксирование запросов к noVNC
location /backend/vnc/ {
proxy_pass http://127.0.0.1:5800/;
}
# Перенаправить страницы ошибок сервера на статическую страницу /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/lib/nginx/html;
}
# Установить заголовки управления кэшем для статических ресурсов (кэш на 1 час)
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
expires 1h;
}
# Запретить доступ к скрытым файлам (например, .htaccess)
location ~ /\. {
log_not_found off;
deny all;
}
# Включить индексирование директорий (если необходимо)
location / {
autoindex on; # включает автоматическое индексирование
index index.html index.htm; # укажите ваши индексные файлы
}
}
```
### Изменения и пояснения:
1. **Исправление синтаксиса заголовков**: Я исправил некоторые заголовки (например, "Хост" на "Host"), чтобы они были на английском, так как это стандартный подход в конфигурации Nginx.
2. **Добавление `autoindex`**: Я включил директиву `autoindex on;` в `location /`, чтобы включить отображение списка файлов в директории. Вам может понадобиться также добавить `index index.html index.htm;`, если вы используете какие-либо индексные файлы.
3. **Чистота кода**: Добавил отступы и комментарии для улучшения читаемости и структурирования конфигурации. Это поможет вам и другим администраторов легче понимать настройки.
Перед применением изменений убедитесь, что у вас корректно настроены права доступа к папкам и файлам, чтобы Nginx мог их читать. После изменений не забудьте перезагрузить сервер Nginx с помощью команды:
```bash
sudo systemctl reload nginx
```