В конечном итоге я намерен настроить nginx для прокси-контента из веб-сервисов на разных хостах. В настоящее время я использую nginx Proxy Manager с nginx в контейнерах Docker. Чтобы исключить сложности настройки веб-сервиса из вопросов настройки обратного прокси, я настроил веб-серверы со статическим содержимым.
- У меня есть Apache в контейнере в той же сети докеров, что и контейнер nginx.
- У меня есть IIS на моей рабочей станции.
Как вы можете видеть из этого захвата, я успешно настроил nginx для проксирования IIS моей рабочей станции (не говоря уже о общедоступной записи DNS для моего внешнего интерфейса. Это работает нормально.
Эти захваты показывают, что контейнер Apache отображает 80 на 8080 на хосте докера, который образно назван dockerhost, и браузер на моей рабочей станции может получить доступ как к корневому документу, так и к другому документу по имени.
На этом этапе я изменил определение хоста прокси-сервера nginx, чтобы определить пользовательское местоположение. В сеть докеров Apache находится на порту 80; вот почему я указал 80, а не 8080.
Кажется, это работает.
... пока вы не попытаетесь загрузить какой-либо другой ресурс из Apache, но получите тот же контент.
Кажется, что абсолютно все, что начинается с апач/
сопоставляется с корневым документом.
В этот момент я вернулся и поискал документацию, но не нашел ничего подходящего.
Меняем местами, чтобы nginx проксировал IIS и пользовательское местоположение iis
точек в IIS на моей рабочей станции демонстрирует точно такую же проблему, на этот раз с IIS.
Как должна быть выражена эта конфигурация?
Предпочтителен ответ на основе Proxy Manager, мне нужно многому научиться, прежде чем я смогу использовать инструкции по непосредственному взлому конфигурации nginx.
Тем не менее, для диагностического использования вот сгенерированная конфигурация.
# --------------------------------------------- -----------
# выиграл.pdconsec.net
# --------------------------------------------- -----------
сервер {
установить $forward_scheme http;
установить $сервер "pnuc.lan";
установить $порт 80;
слушать 80;
слушать [::]:80;
слушать 443 ssl http2;
слушать [::]:443 ssl http2;
имя_сервера wone.pdconsec.net;
# Давайте зашифруем SSL
включить conf.d/include/letsencrypt-acme-challenge.conf;
включить conf.d/include/ssl-ciphers.conf;
ssl_certificate /etc/letsencrypt/live/npm-1/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/npm-1/privkey.pem;
access_log /data/logs/proxy-host-1_access.log прокси;
error_log /data/logs/proxy-host-1_error.log предупреждение;
местоположение / апач {
установить $upstream http://apache:80/;
proxy_set_header Хост $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $ схема;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass $ вверх по течению;
}
место расположения / {
# Прокси!
включить conf.d/include/proxy.conf;
}
# Обычай
включить /data/nginx/custom/server_proxy[.]conf;
}