Конфигурация Tomcat SSL - PullRequest
       13

Конфигурация Tomcat SSL

1 голос
/ 26 октября 2011

Я получил сертификат SSL для использования на сервере Tomcat 6.0, готовом к использованию.

Я настроил Tomcat для использования его со следующими данными в server.xml:

<Connector 
    port="8443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="C:\Tomcat 6.0\ssl\cert" keystorePass="*****"
    clientAuth="false" sslProtocol="TLS"/>

Iзапустил Tomcat с помощью командной строки, чтобы я мог видеть любые сообщения об ошибках, как они произошли.Не было ни одного.

Результаты для доступа к различным URL-адресам:

  • http://localhost -> нормальная загрузка страницы в порядке
  • https://localhost-> страница с заявками браузера не может быть найдена
  • https://localhost:8443 -> страница не найдена
  • http://localhost:8443 -> предлагает сертификат после принятых перенаправлений на https://localhost (я подозреваю, что https: // URL изначально предлагают сертификат, который автоматически принимается браузером, как он был выпущен Verisign)

Как исправить?

Редактировать: я также пробовал port = "443".Тот же результат.

Ответы [ 2 ]

0 голосов
/ 20 июня 2012

Похоже, вы ссылались на файл сертификата в атрибуте keystoreFile ... если этот файл на самом деле является файлом сертификата, вы должны использовать что-то вроде этого

SSLCertificateFile="C:\Tomcat 6.0\ssl\cert"

... если это правильно (чтофайл сертификата), тогда вам также понадобится ключ, например:

SSLCertificateKeyFile="C:\Tomcat 6.0\ssl\cert.key"

Если у вас есть промежуточные сертификаты, которые вам нужны в цепочке CA, добавьте:

SSLCertificateChainFile=
0 голосов
/ 26 октября 2011

Требуется ли SSL на 8443 и 443?

Если все, что вам нужно, это 443 (стандартный порт HTTP), вы можете просто изменить порт = "8443" на "443" и https: // URL-адреса должны работать нормально.

EDIT: Итак, если вы внесли изменение и отослали tomcat, и он все еще прослушивает 8443, то должен быть указан другой разъем, который прослушивает 8443.

Вот моя конфигурация соединителя из моего server.xml

<Connector 
    port="8080" 
    redirectPort="443" 
    maxSpareThreads="75" 
    maxThreads="150" 
    minSpareThreads="25" 
    compression="on" 
    compressionMinSize="2048" 
    noCompressionUserAgents="gozilla, traviata" 
    compressableMimeType="text/html,text/xml,text/javascript,application/xml">
</Connector>


<Connector 
    port="443" 
    minProcessors="5" 
    maxProcessors="75" 
    keystorePass="*****" 
    enableLookups="true" 
    disableUploadTimeout="true" 
    acceptCount="100" 
    debug="0" 
    scheme="https" 
    secure="true" 
    clientAuth="false" 
    sslProtocol="TLS" 
    compression="on" 
    compressionMinSize="2048" 
    noCompressionUserAgents="gozilla, traviata" 
    compressableMimeType="text/html,text/xml,text/javascript,application/xml">
</Connector>

Это приводит к тому, что трафик, поступающий на 8080, (внутренне) перенаправляется на соединитель через порт 443. Трафик с 443 не имеет никакой директивы перенаправления.

Я бы сделал обзор ваших конфигураций для 8443, чтобы убедиться, что еще одна не проникла куда-нибудь.

...