У меня есть обратный прокси-сервер nginx, который использует потоковый прокси для перехода на веб-страницу, которая использует NTLM аутентификация, но мне нужно использовать что-то похожее на директиву местоположения, чтобы указать этому обратному прокси-серверу отправлять запросы на этот сайт на определенный IRL. Например, если пользователь запросит этот сайт:
Я хотел бы переадресовать это http://mysite.mydomain.com/xyz
Обычно я бы использовал директиву местоположения, но каждый раз, когда я добавляю директиву местоположения в свою текущую конфигурацию, я получаю сообщение об ошибке "location" directive is not allowed here in /opt/nginx/nginx.conf:43
Моя текущая конфигурация (которая содержит много вещей, которые я никогда раньше не делал из-за проблем с NTLM), показана ниже.
/opt/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
stream {
upstream backend {
hash $remote_addr consistent;
server mysite.mydomain.com:80 weight=5;
server 192.168.0.50:80 max_fails=3 fail_timeout=30s;
}
server {
listen 443 ssl;
ssl_certificate /usr/local/nginx/conf/mydomain.com.crt;
ssl_certificate_key /usr/local/nginx/conf/mydomain.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}
Я не знаю, как добавить URI / xyz. Если я добавлю его в конец любого IP-адреса в этом файле, это неправильно, и если я попытаюсь добавить директиву местоположения внутри раздела сервера, я получу эту ошибку.
Конечно, в идеале это будет фактически перенаправлять на любое расширение, которое они помещают в конце URL-адреса, и попытаться, например, / abc или / xyz перенаправить на http://mysite.mydomain.com/abc, и http://mysite.mydomain.com/xyz соответственно. Любая помощь приветствуется.
Причина, по которой я не мог найти как установить location
внутри потокового прокси в потоковой документации, потому что это невозможно.
В location
директива разрешена только в server{}
разделы внутри http{}
раздел.
Это, вероятно, было бы довольно интуитивно понятно, если бы я больше знал о разнице в работе потоковых соединений.
Этот ответ дал Максим Дунин, который мне очень помог, и он потрясающий.
Для тех, кто точно знает, как это сделать, раздел потока полностью отделен от раздела http, и вы можете поместить все необходимое в разделе http.