#wso2
#wso2
Вопрос:
У меня есть один сервер с WSO2 IS, EI, BPS и 2-й сервер с IS, EI, BPS. Я хочу создать кластер с балансировщиком нагрузки. IS использует порт 9444, EI использует порт 9443, BPS использует порт 9445. Я не могу правильно настроить Nginx для балансировки нагрузки для 3 систем, потому что все системы используют разные порты. Я не нашел никакой информации в документации. Где я должен записать разные порты IS, EI, BPS в конфигурации Nginx, чтобы открыть веб-страницу LB с разными портами для IS, EI, BPS?
Я настроил Nginx LB для кластера IS, он работает. Затем я настроил Nginx LB для EI, это работает. Затем BPS. Я не знаю, как объединить эти конфигурации в 1 конфигурацию.
Настройка для EI. Конфигурации для IS и BPS те же, но с другими портами.
upstream example.com (SHOULD I WRITE 9443 PORT HERE?) {
server 1.1.1.1:9443;
server 1.1.1.2:9443;
ip_hash;}
server {
listen 443 (SHOULD I WRITE 9443 PORT HERE?);
server_name example.com (SHOULD I WRITE 9443 PORT HERE?);
ssl on;
ssl_certificate /etc/nginx/ssl/cert.cer;
ssl_certificate_key /etc/nginx/ssl/key.key;
ssl_client_certificate /etc/nginx/ssl/ca.pem;
ssl_verify_client on;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_read_timeout 5m;
proxy_send_timeout 5m;
proxy_pass https://example.com (SHOULD I WRITE 9443 PORT HERE?);
proxy_ssl_certificate /etc/nginx/ssl/cert.cer;
proxy_ssl_certificate_key /etc/nginx/ssl/key.key;
proxy_ssl_session_reuse on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}}
Ответ №1:
Вы можете определить 3 имени хоста для серверов, как показано ниже.
- bps.wso2.com
- is.wso2.com
- ei.wso2.com
Затем вы можете определить 3 восходящих потока и 3 сервера. Пример конфигурации можно найти вhttps://docs.wso2.com/display/AM210/Configuring the Proxy Server and the Load Balancer
Комментарии:
1. хорошо, спасибо. Таким образом, нет способа сделать это с портами после имени сервера, например.com: 9443, да?
2. Вы также можете использовать порты. измените порт 443 на 9443
3. Я пытался сделать это с помощью портов. Я сменил порт 443 на 9443, но после этого я получаю ошибки в nginx: слишком много открытых файлов и недостаточно worker_connections. Я увеличил необходимые значения для устранения этих ошибок, но все равно получаю ошибки.