无法连接到已配置的开发web服务器(Java第56讲)

到目前为止,我们编写的WEB服务器,都是基于HTTP协议来实现的。大家知道,HTTP协议是文本协议,而且是明文形式,很容易被嗅探窃听或攻击,安全性不太好。其实,我们使用SpringBoot框架开发的基于HTTP的Web服务器,不需要进行编码修改,只需要稍稍配置,就可以变成基于HTTPS的Web服务器,极大提高系统的安全性。我们还是从概念开始讲起吧。1、HTTP协议HTTP,HyperText Transfer Protocol,超文本传输协议。HTTP协议基于请求与响应在客户端和服务器端交互,HTTP是一种无状态的协议;HTTP协议是因特网上应用最为广泛的应用层传输协议,可以用于传输HTML文件、图片、文本信息,还可以用于查询和修改服务器上的数据。基于HTTP协议的Web系统的协议栈如下图所示:2、SSL与TSL协议SSL,Secure Sockets Layer,安全套接字协议;TLS,Transport Layer Security,传输层安全协议;TLS与SSL在传输层与应用层之间对网络连接进行加密,为网络通信提供安全及数据完整性。3、HTTPS协议HTTPS,Hyper Text Transfer Protocol over SecureSocket Layer,即HTTP over SSL,基于SSL的HTTP协议。我们可以把HTTPS看作安全的HTTP协议。基于HTTPS协议的Web系统的协议栈如下图所示:下面我们用实际的例子,实现一个使用HTTPS的Web服务器。4、建立一个普通的Web服务器我们使用IDEA,基于SpringBoot建立一个普通的Web服务器模块secure_web,使用了Lombok与Spring Web依赖,建立后的代码视图如下:5、新建controller包,添加ShowMessageController类添加该类后,代码视图如下:ShowMessageController类的源代码如下:package com.flying.secure_web.controller;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ShowMessageController{
@Data
private static class WebData{
private int errorCode;
private String message;
}
@GetMapping("/showMessage")
public WebData showMessage(){
WebData webData = new WebData();
webData.setErrorCode(0);
webData.setMessage("success");
return webData;
}
}6、生成数字证书JDK提供了一个keytool工具,可以生成数字证书。我们执行下面的命令,生成一个secure_web.key证书文件,该证书文件有效期为30天,使用RSA算法,密钥长度为2048,别名为secure_web:keytool -genkey -alias secure_web -keyalg RSA -keysize 2048 -keystore secure_web.key -validity 30输入命令时,设置密码为888888下面是命令执行情况:将生成的secure_web.key文件拷贝到resources目录中:7、配置Web服务器的HTTPS相关属性修改application.properties文件,添加HTTPS相关的属性。修改后的application.properties文件内容如下:server.port=8188
server.ssl.key-store=resources/secure_web.key
server.ssl.key-alias=secure_web
server.ssl.key-store-password=888888这四个配置项分别是Web服务的监听端口,数字证书文件名,生成证书时输入的别名和密码。8、运行与测试对程序编译,得到secure_web.jar软件,运行该程序:在浏览器中输入 https://ip地址:8188/showMessage,浏览器会给出告警信息:点击“高级”按钮,然后点击“继续前往<IP地址>(不安全)”:将会得到从服务器返回的信息(JSON格式):根据浏览器的提示信息,我们确实实现了基于HTTPS的安全Web服务器。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/34072.html

kuaisubeian