Я хочу разместить сайт angular / реагировать.После процесса сборки у меня в корневой папке есть index.html и другие файлы.Если я размещаю nginx один, без обратного прокси, он работает отлично.Каждый URL-адрес запроса, кроме моего домена, будет перенаправлен на index.html
Например: domain.com/test/this/code/test будет перенаправлен на index.html.Код наподобие этого:
server {
listen 80;
server_name domain.com;
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
root /root/folder;
index index.html;
access_log /var/log/nginx/domain.com-access.log;
error_log /var/log/nginx/domain.com.error.log;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location / {
#try_files $uri /index.html;
try_files $uri $uri/ /index.html =404;
}
}
Но когда я помещаю свой сервер за обратный прокси-сервер, то же самое, что и выше, nginx перенаправляет только один уровень.
Пример:
- домен.com / justatest -> Это работает, потому что только одноуровневое расположение
- domain.com / just / a / test -> Не работает, я проверяю в Интернете и вижу файлы, которые выглядят в Интернете в / just / a/ Папка, так что это будет ошибка 404.
- domain.com / just / a / test / onemoretime -> Не работает, я проверяю в Интернете и вижу файлы в Интернете в папке / just / a / test /, так что это будет ошибка 404.
Это моя конфигурация обратного прокси:
upstream domain {
server IP:8081;
keepalive 8;
}
server {
listen 80;
server_name domain.com;
access_log /var/log/nginx/domain-access.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://domain/;
proxy_redirect off;
}
}
Я предполагаю проблему в конфигурации обратного прокси.Но понятия не имею.Может кто-нибудь показать мне проблему и как ее исправить?Большое спасибо.