Прокси-сервер Plesk 12.5 Nginx передает SSL в приложение Node на другом порту

Дэвид

Предисловие: попытался установить расширение узла JXCore для Plesk, но не могу заставить его работать. Выдает мне некоторую ошибку, и их служба поддержки не отвечает на электронные письма ...

[IP ADDRESS] = реальный IP, example.com = реальный домен

В любом случае у меня есть приложение nodejs, работающее с сертификатом SSL. Работает нормально, если я перейду на https://example.com:3000 , это порт, который я использую для Node. Сертификат SSL загружается зеленым цветом, и все работает отлично.

Я использую Plesk 12.5, и Nginx уже установлен. Файл .conf находится по адресу /var/www/vhosts/[domain ]/conf/nginx.conf.

Вверху написано:

#DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
#SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.

И они не шутят. Любые изменения в этом файле практически сразу же перезаписываются.

Вот все содержимое файла:

server {
        listen [IP ADDRESS]:443 ssl;

    server_name example.com;
    server_name www.example.com;
    server_name ipv4.example.com;

    ssl_certificate             /usr/local/psa/var/certificates/cert-HREdQ9;
    ssl_certificate_key         /usr/local/psa/var/certificates/cert-HREdQ9;
    ssl_client_certificate      /usr/local/psa/var/certificates/cert-wpX6q1;

    client_max_body_size 128m;

    root "/var/www/vhosts/msgable.com/httpdocs";
    access_log "/var/www/vhosts/system/example.com/logs/proxy_access_ssl_log";
    error_log "/var/www/vhosts/system/example.com/logs/proxy_error_log";

    location / {
            proxy_pass https://[IP ADDRESS]:7081;
            proxy_set_header Host             $host;
            proxy_set_header X-Real-IP        $remote_addr;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            access_log off;
    }

    location @fallback {
            proxy_pass https://[IP ADDRESS]:7081;
            proxy_set_header Host             $host;
            proxy_set_header X-Real-IP        $remote_addr;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            access_log off;
    }

    location ~ ^/plesk-stat/ {
            proxy_pass https://[IP ADDRESS]:7081;
            proxy_set_header Host             $host;
            proxy_set_header X-Real-IP        $remote_addr;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            access_log off;
    }
    location ~ ^/(.*\.(ac3|avi|bmp|bz2|css|cue|dat|doc|docx|dts|eot|exe|flv|gif|gz|htm|html|ico|img|iso|jpeg|jpg|js|mkv|mp3|mp4|mpeg|mpg|ogg|pdf|png|ppt|pptx|qt|rar|rm|svg|swf|tar|tgz|ttf|txt|wav|woff|woff2|xls|xlsx|zip))$ {
            try_files $uri @fallback;
    }

    location ~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon) {
            proxy_pass https://74.208.65.63:7081;
            proxy_set_header Host             $host;
            proxy_set_header X-Real-IP        $remote_addr;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            access_log off;
    }

    location ~ ^/~(.+?)(/.*?\.php)(/.*)?$ {
            alias /var/www/vhosts/example.com/web_users/$1/$2;
            fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass "unix:///var/www/vhosts/system/example.com/php-fpm.sock";
            include /etc/nginx/fastcgi.conf;
    }

    location ~ ^/~(.+?)(/.*)?$ {
            proxy_pass https://[IP ADDRESS]:7081;
            proxy_set_header Host             $host;
            proxy_set_header X-Real-IP        $remote_addr;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            access_log off;
    }

    location ~ \.php(/.*)?$ {
            fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass "unix:///var/www/vhosts/system/example.com/php-fpm.sock";
            include /etc/nginx/fastcgi.conf;
    }

    location ~ /$ {
            index index.html index.cgi index.pl index.php index.xhtml index.htm index.shtml;
    }

    include "/var/www/vhosts/system/example.com/conf/vhost_nginx.conf";
}

Я не буду включать HTTP (не ssl), потому что это та же информация. Единственная разница в том, что это порт 80, а proxy_pass установлен на 7080.

Внизу вы заметите:

include "/var/www/vhosts/system/example.com/conf/vhost_nginx.conf";

Вот что я вложил в этот файл:

location / {
    proxy_pass https://[IP ADDRESS]:3000;
    proxy_set_header Host             $host;
    proxy_set_header X-Real-IP        $remote_addr;
    proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
    access_log off;

}

Помещая это туда, я получаю:

nginx: [emerg] duplicate location "/"

Я также пробовал использовать в настройках Plesk «Дополнительные директивы nginx», но получаю ту же ошибку:

nginx: [Emerg] повторяющееся местоположение "/" Есть идеи? Я собираюсь сбросить Plesk и посмотреть на AWS или что-то в этом роде .... Я пришел к выводу, что: а) вы НЕ можете перезаписывать конфигурации Nginx, созданные Plesk, б) вы НЕ можете напрямую изменять файл conf.

Таким образом, использование proxy_pass в Plesk невозможно.

Редактировать:

Также попытался сделать это в восходящем направлении, но добавление директив Upstream в интерфейс администратора через Plesk или через vhost_nginx.conf дает мне сообщение об ошибке: «Директива nginx: [emerg] Upstream здесь не разрешена».

Изменить № 2: Прочтите этот пост Nginx, чтобы обратиться к приложению Nodejs , добавление того, что было объяснено здесь, ничего не дает. Начинаю думать, что это невозможно с Plesk.

ARG! Такая простая задача на сервере без Plesk!

Дэвид

После двух дней возни это решило для меня. В Plesk вы переходите к «Дополнительные директивы nginx» на странице «Параметры хостинга».

Это то, что я добавил, чтобы сделать Nginx proxy_pass в моем приложении узла. Не нужно вообще редактировать или изменять какие-либо файлы .conf.

## Set the location routing.
location ~ / {

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;

    ##Use the domain.tld here.
    proxy_pass https://example.com:3000;
}

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Nginx SSL внутри контейнера докеров

Активировать SSL-сертификат в домене через Plesk XML API

Критическая ошибка nginx с подтверждением связи SSL

Возможен ли Nginx + Node.js + Socket.io + SSL?

InvalidAuthenticityToken в Rails 5 за Nginx с использованием SSL

nginx перенаправляет несколько серверов на SSL

Как настроить двусторонний SSL в Nginx для пользовательского местоположения?

Конфигурация ssl с подстановочными знаками nginx

nginx или приложение node с использованием ssl

Два домена node.js с SSL на одном сервере nginx - дублирующиеся параметры прослушивания для 443

npm удалил Plesk 12 в Ubuntu 16.04

Перенаправление поддомена Nginx с использованием SSL не работает

Почему у меня возникла проблема HTTP в моем приложении rails 5 с использованием Chrome после добавления ssl Nginx?

Конфигурация SSL Nginx не работает в мобильных браузерах

Как настроить Nginx и Node для использования SSL?

Приложение Node в Plesk - переменные среды в пользовательских скриптах

Управление подписками в plesk12 web pro edition

Parallels Plesk 12 на CentOS 6 не отправляет почту

Где отключить SSL / TLS в Node & Nginx

Программный перезапуск приложений Node в Plesk

Защита Nginx с помощью SSL

Plesk - мне нужно перенести версию PHP 5 на PHP 7 или выше, чтобы запустить приложение, и не торопитесь, так как мы получаем ошибки.

Продлить SSL Godaddy Windows VPS Plesk

Как проксировать все запросы на localhost с помощью nginx и plesk?

Прерывание SSL на NGINX

Настройка SSL с Nginx

Node js Rest API не работает - сервер хостинга Plesk

Wordpress NGINX Plesk правила перезаписи + перезапись для определенной папки

Ошибка cors с nginx, node и vue при использовании SSL

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Машинопись: перебор каждого члена между двумя классами и разность флагов в Angular

  3. 3

    Как разбить строку на несколько строк и сохранить пробелы в YAML?

  4. 4

    Проверьте, была ли новая вкладка открыта с помощью puppeteer

  5. 5

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  6. 6

    Элемент "эллипс", созданный с помощью JS, не отображается в HTML

  7. 7

    How do I search for an entry out of two SQL tables and know which table it came from?

  8. 8

    Сделать программу автоматически добавлять текстовые поля в java

  9. 9

    JavaFX TextArea как установить текст с автоматическим переносом новой строки

  10. 10

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  11. 11

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  12. 12

    Merging legends in plotly subplot

  13. 13

    ViewPager2 мигает / перезагружается при смахивании

  14. 14

    что делать, если в коде нет объявления Tk ()

  15. 15

    YAML: ошибка при разборе строки, содержащей квадратную скобку в качестве первого символа

  16. 16

    Передача параметра msbuild в Build.proj

  17. 17

    Как фильтровать таблицу SQLite3 в PyQt5

  18. 18

    Как в точности работает внутренний пул потоков Nodejs?

  19. 19

    Нарушение ограничения внешнего ключа JPA не может вставить Null

  20. 20

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  21. 21

    Невозможно запустить iReports 5.6.0 с Netbeans 8 и JDK 1.8

популярныйтег

файл