У меня есть два домена: foo.net
и bar.com
. Они оба имеют сертификаты SSL, и они хорошо работают во всех настольных и мобильных браузерах. Они размещаются на том же сервере, что и nginx.
Однако, когда я делаю запрос в домен из встроенного приложения для Android, он каким-то образом получает сертификат из неправильного домена! Это приводит к исключению IO:
request = new HttpPost("https://foo.net/api/v1/baz");
request.setHeader("Authorization", "user:pass");
response = httpClient.execute(request);
...
javax.net.ssl.SSLException: hostname in certificate didn't match: <foo.net> != <bar.com> OR <bar.com> OR <www.bar.com>
Что заставило бы android/java попробовать использовать сертификат из bar.com
, когда каждая другая мера, похоже, указывает на правильность настройки сервера? Ничто не появляется в журнале доступа nginx или в журнале ошибок. В моем проекте андроида нет упоминания bar.com
.
Изменить: я не уверен, почему, но похоже, что сервер использует сертификат для bar.com
для сервера IP https://198.245.xx.xxx