Рейтинг:0

Как исправить ошибку net::ERR_SSL_PROTOCOL_ERROR, когда я помещаю nginx перед Tomcat?

флаг us

Как исправить ошибку net::ERR_SSL_PROTOCOL_ERROR, когда я помещаю nginx перед Tomcat?


#пользователь никто;
рабочие_процессы 1;

#error_log журналы/error.log;
#error_log журналы/уведомление об ошибках.log;
#error_log журналы/информация error.log;

#Журналы pid/nginx.pid;


События {
    worker_connections 1024;
}


http {
    включить mime.types;
    default_type application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log logs/access.log main;

    отправить файл включен;
    #tcp_npush включен;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    восходящий кот {
        сервер 127.0.0.1:8330;
    }

    кодировка utf-8;



    #gzip включен;

    сервер {
        слушать 8331;
        имя_сервера локальный хост;

        # вернуть 301 https://$host$request_uri;
        #кодировка koi8-r;

        #access_log logs/host.access.log main;

        место расположения / {
            # корень html;
            # индекс index.html index.htm;
            # proxy_pass http://sgmng.pluggolf.com;

            proxy_set_header Хост $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $ схема;
            proxy_set_header X-NginX-Proxy true;

            прокси_http_версия 1.1;
            proxy_set_header Обновить $http_upgrade;
            proxy_set_header Соединение "Обновление";
            proxy_set_header Происхождение "";
            # новый

            # Скопируйте путь восходящего потока, указанный выше
            прокси_пароль https://tomcat;
            # proxy_redirect выключен;
            кодировка utf-8;
        }

        #error_page 404 /404.html;

        # перенаправить страницы ошибок сервера на статическую страницу /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        местоположение = /50x.html {
            корень html;
        }

        # проксировать PHP-скрипты для Apache, прослушивающего 127.0.0.1:80
        #
        #местоположение ~ \.php$ {
        # proxy_pass http://127.0.0.1;
        #}

        # передать PHP-скрипты серверу FastCGI, прослушивающему 127.0.0.1:9000
        #
        #местоположение ~ \.php$ {
        # корень html;
        # fastcgi_pass 127.0.0.1:9000;
        # fastcgi_index index.php;
        # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        # включить fastcgi_params;
        #}

        # запретить доступ к файлам .htaccess, если корневой каталог Apache
        # совпадает с nginx
        #
        #местоположение ~ /\.ht {
        # запретить все;
        #}
    }


    # еще один виртуальный хост, использующий сочетание IP-адреса, имени и конфигурации на основе порта
    #
    # сервер {
    # слушать 8080;
    # слушать имя:8080;
    # server_name псевдоним somename other.alias;

    # место расположения / {
    # корень html;
    # индекс index.html index.htm;
    # }
    # }


    # HTTPS-сервер
    
    сервер {
       слушать 8332 ssl;
       имя_сервера локальный хост;

       кодировка utf-8;

       ssl_certificate D:/service/cbdc_dt/nginx/cert/plusity.crt;
       ssl_certificate_key D:/service/cbdc_dt/nginx/cert/plusity.key;

    # ssl_session_cache shared:SSL:1m;
    # ssl_session_timeout 5 м;

       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers включен;

       место расположения / {
        # корень html;
        # индекс index.html index.htm;
        прокси_пароль http://tomcat;

        proxy_set_header Хост $http_host;
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # proxy_set_header X-Forwarded-Proto $scheme;
            # proxy_set_header X-NginX-Proxy true;

        proxy_set_header Обновить $http_upgrade;
        proxy_set_header Соединение '';
        proxy_set_header Происхождение "";
        прокси_http_версия 1.1;
        chunked_transfer_encoding выключено;

        прокси_буферизация выключена;
        прокси_кэш выключен;
        proxy_read_timeout 7 дней;
        прокси_перенаправление выключено;
        кодировка utf-8;
       }
    }

}

После применения ssl ко всем запросам, приходящим на порты 8331 и 8332 следующим образом, я написал код, который перенаправляет на порт 8330 tomcat.

Однако проблема в том, что если вот так зайти на 8330 через nginx, ПОЛУЧИТЬ https://serverIP:8330/itf/subscribe net::ERR_SSL_PROTOCOL_ERROR возникает ошибка.

/itf/subscribe работает нормально, когда nginx отсутствует.

Но похоже есть проблема при звонке изнутри адреса https.

Мне интересно, как я могу решить эту проблему.

С уважением!

Рейтинг:1
флаг us

Согласно вашей конфигурации nginx, порт 8330 обрабатывается вашим вышестоящим сервером (Tomcat). Если вы не настроили Tomcat для использования SSL, вы получите сообщение об ошибке SSL при подключении к нему с помощью https URL.

С вашей конфигурацией вам нужно подключиться к https://example.com:8332/ использовать SSL. Это подключается к порту nginx, настроенному для SSL, а затем nginx передает запрос на сервер Tomcat.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.