Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTPS协议服务器请求升级Java SocketChannel_Java_Https_Socketchannel_Sslengine - Fatal编程技术网

HTTPS协议服务器请求升级Java SocketChannel

HTTPS协议服务器请求升级Java SocketChannel,java,https,socketchannel,sslengine,Java,Https,Socketchannel,Sslengine,因此,我试图在java中构建一个HTTPS服务器,而不使用SocketChannels和SSLEngine。我的主要原因是,当我使用com.sun包构建并测试它时,很多请求都超时了,如果它们确实响应了,则需要大约2分钟(在调试器中,调用处理程序甚至需要2分钟)我构建了一个HTTP服务器,请求下降到200ms,但我需要HTTPS,当我添加SSLEngine并打开请求时,它看起来像HTTP的正常头,请求看起来像这样: GET / HTTP/1.1 Host: localhost Connection

因此,我试图在java中构建一个HTTPS服务器,而不使用SocketChannels和SSLEngine。我的主要原因是,当我使用com.sun包构建并测试它时,很多请求都超时了,如果它们确实响应了,则需要大约2分钟(在调试器中,调用处理程序甚至需要2分钟)我构建了一个HTTP服务器,请求下降到200ms,但我需要HTTPS,当我添加SSLEngine并打开请求时,它看起来像HTTP的正常头,请求看起来像这样:

GET / HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8

基于此,该请求似乎没有使用HTTPS(chrome也表示该网站不安全),也没有请求升级。如何告诉客户端升级?我读过的所有页面都说客户端应该请求升级,如果我试图发送426代码头(需要升级),服务器只需关闭连接并显示我随它一起发送的消息。

答案很简单,本地主机证书无论如何都无效,我为我的网站做了一个证书,并进行了外部测试,得到了正确的回复。据我所知,服务器不能100%地请求客户端更改协议