reverse proxy

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Аватара пользователя
ordex
Сообщения: 353
Зарегистрирован: Вт ноя 20, 2018 2:47 pm

Re: reverse proxy

Сообщение ordex » Вс мар 08, 2020 3:05 am

Lotus писал(а):
Сб мар 07, 2020 10:57 pm
А панель обновится вдруг с vhosts.tpl? Опять все послетает резко и по новой шаблон править?
При наличии vhosts.local.tpl всё тащится из него и он не обновляется..

Lotus
Сообщения: 43
Зарегистрирован: Вт авг 29, 2017 6:49 am

Re: reverse proxy

Сообщение Lotus » Сб дек 12, 2020 7:46 am

Так и сделал, все работало замечательно.
Только через десяток обновлений панели вышло:
- ранее я скопировал vhosts.tpl в vhosts.local.tpl и в последнем внес изменения.
- vhosts.tpl с обновлениями менялся (что-то добавлялось, что-то улучшалось).
- а я при этом сидел на старой версии, поскольку у меня использовался исключительно vhosts.local.tpl

Т.е. выходит время от времени после обновлений туда нужно заглядывать и проверять не появилась ли новая версия vhosts.tpl и в случае обновления заново проделывать процедуру.
(((

morphay
Сообщения: 19
Зарегистрирован: Ср июл 31, 2019 6:41 am

Re: reverse proxy

Сообщение morphay » Пн сен 20, 2021 2:00 pm

всем привет, ребят подскажите пожалуйста с настройкой. рабочий пример полного конфига может кто-то выложить?
тот вариант который я нашел не работает :

Код: Выделить всё

server {                                                                                                                                                  
        server_name docs.name.bg www.docs.name.bg;                                                                                                          
        ssl_certificate /etc/certs/andy/docs.name.bg_20-09-2021_04:16:13_letencrypt.crt;                                                                                  
        ssl_certificate_key /etc/certs/andy/docs.name.bg_20-09-2021_04:16:13_letencrypt.key;
        
 location / {                                                                                                                                      
                proxy_set_header Host $http_host;                                                                                                         
                proxy_pass $scheme://192.168.88.23;                                                                                                       
        }                                                                                                                                                 

        listen 192.168.88.11:80;                                                                                                                          
        listen 192.168.88.11:443 ssl;                                                                                                                     
}   
пробовал в location:

Код: Выделить всё

      proxy_pass http://192.168.88.23;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                
                proxy_set_header X-Real-IP $remote_addr;
но так же не работает...


спасибо.

morphay
Сообщения: 19
Зарегистрирован: Ср июл 31, 2019 6:41 am

Re: reverse proxy

Сообщение morphay » Пн сен 20, 2021 6:16 pm

первый пример конфига верен, допустил ошибку в ip адресах )

morphay
Сообщения: 19
Зарегистрирован: Ср июл 31, 2019 6:41 am

Re: reverse proxy

Сообщение morphay » Вт мар 08, 2022 10:33 am

обновил репозитории по этой инструкции https://community.brainycp.com/viewtopic.php?f=9&t=4648
после переустановил apache и nginx, теперь nginx не запускается, ругается на выше приведенный мною конфиг для проксирования
подскажите пожалуйста куда копать?

Код: Выделить всё

Перезапуск неуспешный. Сервис не работает.
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2022-03-08 11:52:37 EET; 24ms ago
Docs: man:httpd.service(8)
Process: 502525 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
Process: 520989 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 520989 (code=exited, status=1/FAILURE)
Status: "Reading configuration..."
CPU: 52ms

Mar 08 11:52:37 host.ibc-oil.com systemd[1]: Starting The Apache HTTP Server...
Mar 08 11:52:37 host.ibc-oil.com httpd[520989]: AH00526: Syntax error on line 1 of /etc/httpd/vhost.d/1c.buh.bg.conf:
Mar 08 11:52:37 host.ibc-oil.com httpd[520989]: Invalid command 'server', perhaps misspelled or defined by a module not included in the server configuration
Mar 08 11:52:37 host.ibc-oil.com systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
Mar 08 11:52:37 host.ibc-oil.com systemd[1]: httpd.service: Failed with result 'exit-code'.
Mar 08 11:52:37 host.ibc-oil.com systemd[1]: Failed to start The Apache HTTP Server.
Mar 08 11:52:37 host.ibc-oil.com systemd[1]: httpd.service: Consumed 52ms CPU time

Аватара пользователя
alenka
Сообщения: 2194
Зарегистрирован: Ср сен 27, 2017 11:10 am

Re: reverse proxy

Сообщение alenka » Ср мар 09, 2022 3:15 pm

Покажите конфиг виртуального хоста
/etc/httpd/vhost.d/1c.buh.bg.conf

NikF
Сообщения: 15
Зарегистрирован: Пн мар 13, 2023 8:32 am

Re: reverse proxy

Сообщение NikF » Пн июл 31, 2023 10:53 pm

Всем привет!
Тоже возникла необходимость в реверс прокси, на виртуалку с Битриксом. Все нормально, кроме веб-сокетов. А для них нужен пакет nginx-extras, а он только в версии nginx 1.20.2 (на данный момент в панели 1.20.1).
Можно ли как то обновить nginx до 1.20.2?

Аватара пользователя
sbury
Сообщения: 1463
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: reverse proxy

Сообщение sbury » Вт авг 01, 2023 12:11 pm

NikF писал(а):
Пн июл 31, 2023 10:53 pm
Всем привет!
Тоже возникла необходимость в реверс прокси, на виртуалку с Битриксом. Все нормально, кроме веб-сокетов. А для них нужен пакет nginx-extras, а он только в версии nginx 1.20.2 (на данный момент в панели 1.20.1).
Можно ли как то обновить nginx до 1.20.2?
Какая версия ОС?

NikF
Сообщения: 15
Зарегистрирован: Пн мар 13, 2023 8:32 am

Re: reverse proxy

Сообщение NikF » Ср авг 02, 2023 8:30 am

Almalinux 8.
1. Подскажите, на работу панели апдейт не повлияет? нет нигде привязки к версии надеюсь в панели? нужна версия nginx 1.20.2 (у вас сейчас 1.20.1)
На тестовом хосте обновил, но все равно ругается

nginx: [emerg] unknown "connection_upgrade" variable
nginx: configuration file /etc/nginx/nginx.conf test failed

В целом задача у меня следующая - пробросить сайт из панели на ip в локалке по домену (так как будут еще другие на этом же IP), где установлена ВМ Битрикс. А там довольно серьезные требования, и в том числе web-сокеты.
2. Если не в админке, а в консоли инклюдить свои конфиги (В чистом nginx, без панели я обычно их в главных конфиг прописываю) - подскажите, где я могу их найти к конкретному сайту относительно хост-аккаунта? Так же не могу понять, где мне создавать папки settings к сайту, и где у вас папка sites-enable!

Т.е. нужно заинклюдить (если можно в админке, то тоже хорошо, но у меня ошибку выводит, если в доп настройке сайтов делаю):

Это я так понимаю, если в панели инклюдить - добавляю в "Индивидуальная донастройка виртуальных хостов - NGINX":
bx_general_proxy_settings.conf:

Код

Код: Выделить всё

        proxy_connect_timeout           300;
        proxy_send_timeout              300;
        proxy_read_timeout              300;
        proxy_buffer_size               64k;
        proxy_buffers                   8 256k;
        proxy_busy_buffers_size         256k;
        proxy_temp_file_write_size      10m;

        gzip                            on;
        gzip_proxied                    any;
        gzip_static                     on;
        gzip_http_version               1.0;
        gzip_types                      application/x-javascript application/javascript text/css;

        default_type application/force-download;

        tcp_nopush                      on;
        tcp_nodelay                     on;

        client_max_body_size            1024m;
        client_body_buffer_size         4m; 
Это не понимаю, куда в админке добавить:
settings/rtc-im_settings.conf:
Код

Код: Выделить всё

# 
log_format simple '$time_local $status $request';
if connection ti not set
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' 'close';
}

map $http_upgrade  $replace_upgrade {
  default $http_upgrade;
  ''      "websocket";
}
ну и основную конфу (как я понимаю надо добавлять в "Дополнительная настройка сайтов"-"Параметры nginx для сайта {DNS name} "

Код: Выделить всё

server {
    listen 80;
    server_name  {DNS name} www.{DNS name};
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name  {DNS name} www.{DNS name};
    access_log /etc/nginx/vhost_logs/{DNS name}_access;
    error_log /etc/nginx/vhost_logs/{DNS name}_error;
    ssl_certificate /etc/certs/bitrix/{DNS name}_02-08-2023_12:05:01_letencrypt.crt_v2;
    ssl_certificate_key /etc/certs/bitrix/{DNS name}_02-08-2023_12:05:01_letencrypt.key;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    location / {
        proxy_ignore_client_abort on;
        proxy_pass https://192.168.5.45:443;
        proxy_redirect https://192.168.5.45:443 /;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/subws/ {
        access_log off;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_http_version 1.1;
        proxy_pass https://192.168.5.45:443;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_redirect https://192.168.5.45:443 /;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/sub/ {
        access_log off;
        rewrite ^/bitrix/sub/(.*)$ /bitrix/subws/$1 break;
        proxy_pass https://192.168.5.45:443;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/rest/ {
        access_log off;
        proxy_pass https://192.168.5.45:443;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }
}
Но при сохранении ошибка:
nginx: [emerg] unknown "connection_upgrade" variable
nginx: configuration file /etc/nginx/nginx.conf test failed

На этой панели nginx еще не обновлял, так как много других сайтов работает.

NikF
Сообщения: 15
Зарегистрирован: Пн мар 13, 2023 8:32 am

Re: reverse proxy

Сообщение NikF » Ср авг 02, 2023 11:03 am

NikF писал(а):
Ср авг 02, 2023 8:30 am
Almalinux 8.
1. Подскажите, на работу панели апдейт не повлияет? нет нигде привязки к версии надеюсь в панели? нужна версия nginx 1.20.2 (у вас сейчас 1.20.1)
На тестовом хосте обновил, но все равно ругается

nginx: [emerg] unknown "connection_upgrade" variable
nginx: configuration file /etc/nginx/nginx.conf test failed

В целом задача у меня следующая - пробросить сайт из панели на ip в локалке по домену (так как будут еще другие на этом же IP), где установлена ВМ Битрикс. А там довольно серьезные требования, и в том числе web-сокеты.
2. Если не в админке, а в консоли инклюдить свои конфиги (В чистом nginx, без панели я обычно их в главных конфиг прописываю) - подскажите, где я могу их найти к конкретному сайту относительно хост-аккаунта? Так же не могу понять, где мне создавать папки settings к сайту, и где у вас папка sites-enable!

Т.е. нужно заинклюдить (если можно в админке, то тоже хорошо, но у меня ошибку выводит, если в доп настройке сайтов делаю):

Это я так понимаю, если в панели инклюдить - добавляю в "Индивидуальная донастройка виртуальных хостов - NGINX":
bx_general_proxy_settings.conf:

Код

Код: Выделить всё

        proxy_connect_timeout           300;
        proxy_send_timeout              300;
        proxy_read_timeout              300;
        proxy_buffer_size               64k;
        proxy_buffers                   8 256k;
        proxy_busy_buffers_size         256k;
        proxy_temp_file_write_size      10m;

        gzip                            on;
        gzip_proxied                    any;
        gzip_static                     on;
        gzip_http_version               1.0;
        gzip_types                      application/x-javascript application/javascript text/css;

        default_type application/force-download;

        tcp_nopush                      on;
        tcp_nodelay                     on;

        client_max_body_size            1024m;
        client_body_buffer_size         4m; 
Это не понимаю, куда в админке добавить:
settings/rtc-im_settings.conf:
Код

Код: Выделить всё

# 
log_format simple '$time_local $status $request';
if connection ti not set
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' 'close';
}

map $http_upgrade  $replace_upgrade {
  default $http_upgrade;
  ''      "websocket";
}
ну и основную конфу (как я понимаю надо добавлять в "Дополнительная настройка сайтов"-"Параметры nginx для сайта {DNS name} "

Код: Выделить всё

server {
    listen 80;
    server_name  {DNS name} www.{DNS name};
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name  {DNS name} www.{DNS name};
    access_log /etc/nginx/vhost_logs/{DNS name}_access;
    error_log /etc/nginx/vhost_logs/{DNS name}_error;
    ssl_certificate /etc/certs/bitrix/{DNS name}_02-08-2023_12:05:01_letencrypt.crt_v2;
    ssl_certificate_key /etc/certs/bitrix/{DNS name}_02-08-2023_12:05:01_letencrypt.key;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    location / {
        proxy_ignore_client_abort on;
        proxy_pass https://192.168.5.45:443;
        proxy_redirect https://192.168.5.45:443 /;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/subws/ {
        access_log off;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_http_version 1.1;
        proxy_pass https://192.168.5.45:443;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_redirect https://192.168.5.45:443 /;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/sub/ {
        access_log off;
        rewrite ^/bitrix/sub/(.*)$ /bitrix/subws/$1 break;
        proxy_pass https://192.168.5.45:443;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }

    location /bitrix/rest/ {
        access_log off;
        proxy_pass https://192.168.5.45:443;
        proxy_max_temp_file_size 0;
        proxy_read_timeout 43800;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header HTTPS YES;
    }
}
Но при сохранении ошибка:
nginx: [emerg] unknown "connection_upgrade" variable
nginx: configuration file /etc/nginx/nginx.conf test failed

На этой панели nginx еще не обновлял, так как много других сайтов работает.
С конфигами вроде разобрался, но веб-сокеты не работают
Вложения
2023-08-02_14-02-07.png
2023-08-02_14-02-07.png (197.62 КБ) 20522 просмотра
2023-08-02_13-58-49.png
2023-08-02_13-58-49.png (147.24 КБ) 20522 просмотра

Ответить