Пожалуйста, вы можете помочь.Я создал в Java API отдыха и экспортировал файл WAR на мой облачный сервер Tomcat 8.Я смог получить доступ к нему и нормально использовать его в своем приложении Codenameone в течение нескольких месяцев, используя http://www.mydomain.co.uk:8080/MyProject/...
Но теперь я применил TLS \ SSL к своему серверу (приобрел сертификат Comodo) и теперь, используя мое приложениеили Почтальон получает тайм-аут соединения, когда я использую аналогичный URL-вызов https://www.mydomain.co.uk/MyProject/... Идентифицированный URL-адрес, вставленный в мой браузер, также выдает «Соединение заняло слишком много времени, чтобы ответить».Я не внес никаких изменений в проект Rest API или заголовки HTTP-запросов, которые я передаю ему между двумя вызовами.Почему его нельзя прочитать сейчас?
Отключение брандмауэра не имеет значения.Использование 443 портов не имеет значения, а использование 8443 дает «Не удалось получить ответ» в почтальоне.
У меня правильно установлен сторонний сертификат.Я знаю это, потому что в моем браузере, если я запускаю просто "https://www.mydomain.co.uk/MyProject" (без порта), он загружает файл WAR. Я также могу просмотреть тестовый файл GIF" https://www.mydomain.co.uk/test.gif", который находится в моем Tomcats / usr/ поделиться правильно, и браузер показывает «Безопасный», и я вижу, что используется правильный сертификат.Поэтому я не думаю, что это проблема портов / межсетевого экрана Tomcat или проблема с сертификатом.Так как мой браузер может загрузить файл WAR, используя ту же первую половину URL, то это должно означать, что местоположение файла войны в порядке.
Кажется, что-то не так с фактическим вызовом Rest API, которыйКак я уже сказал, работает нормально, если я это сделаю "http://www.mydomain.co.uk:8080/MyProject/..."
Почти похоже, что Postman или приложение вызывают API. К вашему сведению, мой единственный соответствующий заголовок запроса, который я передаю, - Content-Type'=' application / json '. Большое спасибо
ОБНОВЛЕНИЕ 20/05/18 Текущая позиция: когда я выпускаю URL-вызов для моего остальных API "https://www.mydomain.co.uk/MyProject/some_path_params" (которыйработает нормально, используя http и 8080) я получаю '404 Not Found' во всех вызывающих местах (например, почтальон).
Глядя на файл apache2 error.log, он говорит: «AH00128: Файл не существует: / var/ Библиотека / tomcat8 / WebApps / MyProject / some_path_params.Это правильно, поскольку файлы не существуют, но это потому, что конечной точкой является MyProject.
Кто-нибудь знает, почему он пытается найти файл, представленный в URL-адресе, вместо вызова остальных API и перехода в класс java, который начинается с '@Path ("/ some_path_params")'?
Почему Почтальон просто не запускает Rest API в режиме https?
Если я введу https://www.mydomain.co.uk/MyProject,, он отображает файловую структуру, поэтому у меня есть доступ к этомукаталог.
Кстати, когда я перезапускаю apache2, журналы подтверждают, что сертификат TLS загружен правильно.
Если это уместно, я включил это в web.xml проекта Java:
<security-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
В моем apache.conf есть следующие разделы:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mydomain_co_uk.crt
SSLCertificateKeyFile /etc/ssl/private/www.mydomain.co.uk.key
SSLCertificateChainFile /etc/ssl/certs/mydomain_co_uk.ca-bundle
ServerName www.mydomain.co.uk
Alias /MyProject "/var/lib/tomcat8/webapps/MyProject"
<Location />
Require all granted
</Location>