Можно ли использовать nginx для прокси и перезаписи доменных имен?

Из-за ситуации с короной все наши кампусы закрыты, и мы пытаемся найти способы предоставить нашим студентам доступ к внешним библиотечным службам с ограничениями диапазона IP.

Мы хотим, чтобы есть что-то вроде этого на прокси-службе: https://libdb.net.proxy.mysite.org/whatever предоставит вам содержимое https://libdb.net/whatever и libdb.net будут обмануты, полагая, что все обращения происходят с proxy.mysite.org, и все ссылки в libdb.net будут соответственно переписаны. И это должно работать для многих доменов. В принципе, это должно работать для любого веб-сайта.

Мы можем исправить разрешение с помощью подстановочного знака DNS для * .proxy.mysite.com, но я не могу понять волшебство nginx. Любые предложения приветствуются.

(EZproxy, похоже, может помочь, но пока я не получу ответ на запрос ценового предложения, мы ищем альтернативы)

0
задан 14 March 2020 в 02:10
1 ответ

См. Фрагмент ниже:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name _;

    if ($host ~ (.+)\.proxy.mysite.com$) {
            set $proxyhost $1;
    }

    location ~ {
            proxy_set_header Host $proxyhost;
            proxy_pass https://$proxyhost/;
    }

}

Это должно работать для предполагаемого сценария. Фрагмент настроен только на использование http, а не https

0
ответ дан 30 March 2020 в 01:29

Теги

Похожие вопросы