Привет, я пробую простой Java-сервер HTTP NanoHTTPD: http://elonen.iki.fi/code/nanohttpd/
Сегодня я пытаюсь поддерживать его с помощью HTTPS, поэтому я создаю SSLServerSocket
в его конструкторе NanoHTTPD
:
// myServerSocket = new ServerSocket(myTcpPort);
myServerSocket = SSLServerSocketFactory.getDefault().createServerSocket(myTcpPort);
, а также поставляется javax.net.ssl.keyStore
с 2048-битным ключом RSA
Результатом является успешное соединение https на MSIE6.0, MSIE8.0, Firefox 9.0.1.
Однако произойдет сбой в Google Chrome 17.0.963.56 m и Firefox 10.0.1:
после отладки метод NanoHTTPD.HTTPSession.decodeHeader
получает только String inLine = "G"
только один символ, в то время как обычно здесь вы ожидаете стандартный заголовок http "GET / HTTP/1.1
".
Значит, любой, кто знаком с Firefox, может сказать, что отличается в 9.0.1 и 10.0.1 от https / ssl? Что-то сделанное браузерами может быть смыслом. (Конечно, я новичок в Java-программировании на SSL, пожалуйста, скажите мне, если я ошибаюсь в SSLServerSocket).
У меня кросс выложили эту проблему:
https://support.mozilla.org/en-US/questions/920116
Спасибо всем.