Настройка nginx для сопоставления pgadmin с URI - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть контейнеры Docker nginx и pgadmin, соединенные друг с другом. Только nginx контейнер открыт снаружи. Как я могу сопоставить pgadmin с суб URI?

Если хост - example.com, я хочу, чтобы pgadmin был доступен на example.com/pgadmin/. Пока у меня есть это в моем nginx.conf файле:

location ^~ /pgadmin/ {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://pgadmin:80/;
}

Запрос к example.com/pgadmin/ поступает на pgadmin, но когда pgadmin перенаправляет на страницу входа, он перенаправляет на example.com/login?next=%2F, а не на example.com/pgadmin/login?next=%2F.

Как мне заставить pgadmin работать на example.com/pgadmin?

1 Ответ

0 голосов
/ 15 сентября 2018

Я понимаю, что вы хотите сопоставить http://pgadmin:80/ с http://example.com/pgadmin/.Добавьте приведенную ниже запись в файл hosts для сопоставления pgadmin с example.com

pgadmin    example.com

Теперь, чтобы сопоставить :80 с /pgadmin, добавьте в свой файл nginx.conf следующее:

location /pgadmin {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://pgadmin:80/;
}
...