У меня есть сервер, на котором размещено веб-приложение, расположенное на виртуальной машине. Используя iptables, я смог перенести внешние запросы через сервер в веб-приложение, используя SSL-сертификаты в веб-приложении vm. Конечный результат заключается в том, что если вы введете sub.mydomain.com/webapp, он вызовет мой экземпляр webapp.
Я хочу добавить вторую виртуальную машину, на которой будет размещена другая программа, доступная из sub2.mydomain. ком / otherwebapp. Я подумал, что Nginx как обратный прокси-сервер - это то, что мне нужно было использовать.
Для начала я только в настоящее время пытаюсь реверсировать прокси для моего текущего запущенного экземпляра sub.mydomain.com/webapp вместо переадресации портов как я был. Можно было легко начать с малого, а потом развернуть.
Я создал еще одну виртуальную машину под управлением Nginx. Внешние веб-запросы на sub.mydomain.com/webapp направляются в Nginx vm, а затем (надеюсь) передаются на соответствующий поддомен. Сертификаты ssl в настоящее время находятся в webapp vm, я подумал, что было бы хорошо, если бы nginx только направлял веб-запросы и не обрабатывал конфигурацию ssl, а также я вижу, что многие используют nginx для этого.
Похоже, что веб-запрос достигает экземпляра webapp, поскольку он перенаправляется с sub.mydomain.com/webapp на sub.mydomain.com/webapp/index.php
Это мой nginx config:
server {
listen 443;
listen [::]:443;
location / {
proxy_pass http://10.123.0.1:443;
}
}
К сожалению, я получаю сообщение об ошибке:
Произошла ошибка при подключении к sub.mydomain.com. SSL получил запись, превышающую максимально допустимую длину. Код ошибки: SSL_ERROR_RX_RECORD_TOO_LONG
Я попытался изменить конфигурацию на:
server {
listen 443 ssl;
listen [::]:443 ssl;
location / {
proxy_pass http://10.123.0.1:443;
}
}
Но я получаю:
Произошла ошибка при подключении к sub .mydomain.com. PR_END_OF_FILE_ERROR
Я также пытался установить абсолютный URI, используя это:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache0:10M max_size=100G use_temp_path=off;
server {
listen 443 ssl;
listen [::]:443 ssl;
location / {
proxy_cache cache0;
rewrite ^(.*)$ "://$http_host$uri$is_args$args" break;
rewrite ^(.*)$ "http$uri$is_args$args" break;
proxy_pass http://10.123.0.1:443;
}
}
Это никак не повлияло. Я также попытался указать location /webapp {
и proxy_pass http://10.123.0.1/webapp:443;
безрезультатно. В основном я просто искал коды ошибок, которые я получал, и пробовал решения других людей одно за другим. Это мое странное хобби, все самоучка, и я понятия не имею, где искать или что искать, чтобы достичь того, чего я хотел бы.
Заранее спасибо.