У меня странная проблема с использованием nginx в качестве обратного прокси-сервера для моего экземпляра Zeppelin. Я постараюсь описать проблему ниже.
Я использую экземпляр EC2 в качестве обратного прокси-сервера для доступа к экземпляру Zeppelin. Просто примечание перед ним - AWS ALB, сидящий как «прямой прокси», так что я могу использовать дружественные URL-адреса для показа пользовательского интерфейса. Маршрутизация на основе пути в AWS ALB настроена правильно.
Запрос поступает в AWS ALB с доменом subdomain.domain.com / ds , где я использую маршрутизацию на основе пути для сопоставления всех запросов, которые обращаются к / ds в качестве пути к моя целевая группа.
Затем входящий запрос передается экземпляру Nginx, который работает хорошо. Проблема в том, что если я использую URL без косой черты, у Nginx просто время ожидания.
Конфигурация ниже:
# Zeppelin
server {
listen 541;
location /ds {
rewrite ^/ds/(.*)$ /$1 break;
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_pass http://10.10.10.10:8890/;
proxy_redirect http://10.10.10.10:8890/ $scheme://$host/ds;
}
location /ds/ws {
proxy_pass http://10.10.10.10:8890/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Кроме того, ниже приведен самый простой пример, который я использую для RStudio.
server {
listen 542;
location /ds {
rewrite ^/ds/(.*)$ /$1 break;
proxy_pass http://10.10.10.10:8787;
proxy_redirect http://10.10.10.10:8787/ $scheme://$host/ds/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_read_timeout 20d;
}
}
Если косая черта не указана, я получаю
/ds not found