Tomcat6, настроенный на использование SSL, не работает - PullRequest
1 голос
/ 10 октября 2010

Я пытаюсь настроить SSL для своего веб-приложения и следую инструкциям (http://techtracer.com/2007/09/12/setting-up-ssl-on-tomcat-in-3-easy-steps/),, затем нажимает http://localhost:8443 возвращает «невозможно подключиться»

Среда:

Tomcat6, Windows 7

Tomcat6 запущен и работает, http://localhost:8080 отображает страницу tomcat.

Ниже описан шаг, который я предпринял:

1. Создание файла хранилища ключей

C:\Program Files\Java\jdk1.6.0_21\bin>keytool -genkey -alias masatosanssl -keypass masatosanadmin -keystore masatosanssl.bin -storepass
 masatosanadmin

затем я ответил на вопросник.

masatosanssl.bin создан, и я переместил файл в каталог моего веб-приложения, который находится по адресу:

C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\masatosanssl.bin

2. Настройка Tomcat для использования файла хранилища ключей

Изменение server.xml

Расположение: C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS" 
        keystoreFile="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\masatosanssl.bin"
        keystorePass="masatosanadmin" 
               />

Затем я перезагружаю Tomcat инажатие https://localhost:8443 возвращает «не удается отобразить страницу», я попытался изменить путь к server.xml keystoreFile на относительный и т. д., но, похоже, ни один из них не работает.

Чего мне здесь не хватает?

Ответы [ 3 ]

3 голосов
/ 19 февраля 2012

Вы ничего не пропустите, кроме проверки журналов. У меня была та же самая проблема и почти проверенный везде через интернет Я пытался запустить веб-сервис через Tomcat 7.0 и сгенерировал хранилище ключей так же, как вы. Проблема, описанная в документации Apache для работы с ssl, заключается в том, что если какой-либо параметр или файл jar, касающийся реализации ключей SSL APR, находится в каталоге tomcat, предполагается, что вы используете openssl, а не реализацию JSSE, которая может работать с хранилищами ключей, созданными keytool. Чтобы локализовать источник проблемы, я посмотрел на файл server.xml в [tomcat dir] / conf и увидел, что эта строка была там:

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

Затем я закомментировал эту строку и перезапустил сервер. Теперь он работает как шарм!

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

1 голос
/ 10 октября 2010

Вы проверяли логи Tomcat? Сбои при запуске Connector обычно генерируют сообщения журнала, точно описывающие, почему он не может быть запущен.

Что означает «возврат» не может отображать «страницу»? Сервер прослушивает порт или нет? Что показывает curl -I <a href="http://localhost:8443/" rel="nofollow">http://localhost:8443/</a> или telnet localhost 8443?

И вы действительно уверены, что хотите сохранить свой файл ключей в общедоступном каталоге, таком как webapps/head_first? Обычно этот файл должен храниться в каталоге, где его может прочитать только пользователь, под которым работает Tomcat.

0 голосов
/ 10 октября 2010

Попробуйте сделать это способом, описанным в документации Tomcat , а не каким-нибудь произвольным интернет-мусором .

...