当前位置: 首页 > news >正文

卡片式网站模板高端网站建设南宁

卡片式网站模板,高端网站建设南宁,网页设计入门图片,综合性门户网站是什么意思学习链接 springboot如何将http转https SpringBoot配置HTTPS及开发调试 Tomcat8.5配置https和SpringBoot配置https 可借鉴的参考: springboot如何配置ssl支持httpsSpringBoot配置HTTPS及开发调试的操作方法springboot实现的https单向认证和双向认证(java生成证…

学习链接

springboot如何将http转https

SpringBoot配置HTTPS及开发调试

Tomcat8.5配置https和SpringBoot配置https

可借鉴的参考:

  • springboot如何配置ssl支持https
  • SpringBoot配置HTTPS及开发调试的操作方法
  • springboot实现的https单向认证和双向认证(java生成证书)
  • SpringBoot配置Https访问的详细步骤
  • SpringBoot配置Https入门实践
  • springboot项目开启https协议的项目实现
  • SpringBoot的HTTPS配置实现
  • springboot配置http跳转https的过程
  • springboot支持https请求的实现
  • SpringBoot中支持Https协议的实现
  • SpringBoot整合HTTPS的项目实践

文章目录

  • 学习链接
  • 步骤
    • 搭建springboot基础项目
      • pom.xml
      • TomcatHttpsConfig
      • WebSocketConfig
      • WsHandler
      • WsHandshakeInterceptor
      • TestApplication
      • index.html
    • 生成安全证书
    • 将证书放到项目目录下
    • 访问

步骤

搭建springboot基础项目

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/></parent><groupId>org.example</groupId><artifactId>demo-springboot-https</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><!-- web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><finalName>demo-springboot-https</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- maven 打包时跳过测试 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip></configuration></plugin></plugins></build></project>

TomcatHttpsConfig

@Configuration
public class TomcatHttpsConfig {@Beanpublic ServletWebServerFactory servletContainer() {TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {SecurityConstraint securityConstraint = new SecurityConstraint();securityConstraint.setUserConstraint("CONFIDENTIAL");SecurityCollection collection = new SecurityCollection();collection.addPattern("/*");securityConstraint.addCollection(collection);context.addConstraint(securityConstraint);}};tomcat.addAdditionalTomcatConnectors(redirectConnector8080());return tomcat;}private Connector redirectConnector8080() {Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");connector.setScheme("http");connector.setPort(8080);connector.setSecure(false);connector.setRedirectPort(8081);return connector;}}

WebSocketConfig

@Slf4j
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Autowiredprivate WsHandler wsHandler;@Autowiredprivate WsHandshakeInterceptor wsHandshakeInterceptor;@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry// 设置处理器处理/custom/**.addHandler(wsHandler, "/wsTest/websocket")// 允许跨越.setAllowedOrigins("*")// 设置监听器.addInterceptors(wsHandshakeInterceptor);}@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}@Beanpublic ServletServerContainerFactoryBean serverContainer() {ServletServerContainerFactoryBean containerFactoryBean = new ServletServerContainerFactoryBean();containerFactoryBean.setMaxTextMessageBufferSize(2 * 1024 * 1024);return containerFactoryBean;}
}

WsHandler

@Slf4j
@Component
public class WsHandler extends TextWebSocketHandler {@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {log.info("收到客户端数据: {}", message.getPayload());session.sendMessage(new TextMessage("收到了您的消息"));}
}

WsHandshakeInterceptor

@Slf4j
@Component
public class WsHandshakeInterceptor implements HandshakeInterceptor {@Overridepublic boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {log.info("beforeHandsShake...握手前");return true;}@Overridepublic void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {log.info("beforeHandsShake...握手后");}}

application.yml

server:port: 8081ssl:key-store: tomcat.keystorekey-alias: tomcatenabled: truekey-store-type: JKSkey-store-password: 123456

TestApplication

@SpringBootApplication
public class TestApplication {public static void main(String[] args) {SpringApplication.run(TestApplication.class, args);}}

index.html

<html>
<head><meta charset="utf8"/>
</head><body><h1>hello word!!!</h1><p>this is a html page</p><input type="text" id="ipt" value="wss://192.168.134.5:8081/wsTest/websocket" style="width: 1200px"><br/><button type="button" id="btn">连接ws</button></body><script>var ws = nullconst btn = document.querySelector('#btn')btn.onclick = function(){console.log('halo')const ipt = document.querySelector('#ipt')console.log(ipt.value)ws = new WebSocket(ipt.value)ws.onopen = () => {console.log('连接成功')}ws.onmessage = (msg) => {console.log('收到消息: ' + msg)}ws.onerror = (err) => {console.log('连接失败: ' + err)}}</script>
</html>

生成安全证书

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/tmp/tomcat.keystore -storepass 123456

在这里插入图片描述

将证书放到项目目录下

在这里插入图片描述

访问

访问http://192.168.134.5:8080时,会自动跳转到https://192.168.134.5:8081,由于是自签名证书,所以会有安全警告,点击继续
在这里插入图片描述
看到下方页面
在这里插入图片描述
点击上面的连接ws,可以看到连接成功了
在这里插入图片描述

http://www.shuangfujiaoyu.com/news/41837.html

相关文章:

  • 商城网站建设教学网站怎么找
  • 模板网站建设方案数据分析师35岁以后怎么办
  • 昆明网站定制怎么在百度发布个人简介
  • 做网站服务器需要自己提供吗百度搜索引擎盘搜搜
  • 软文营销成功案例成品网站源码的优化技巧
  • 宁波网站建设有限公司安卓优化大师旧版本
  • 潍坊网站建设建站电商代运营公司排名
  • 企业网站制作公司电话免费网站seo排名优化
  • 网站开发用什么技术做好google手机官网
  • 做外贸soho 需要有网站吗如何在手机上制作网站
  • 如何做监控网站百度投放广告怎么收费
  • 网站建设工资高吗网络平台销售
  • 买了服务器主机这么做网站厦门seo代理商
  • 查看企业信息的网站百度识图网页版
  • 金融网站开发目的北京昨天出啥大事了
  • 代做施组 方案的网站北京百度seo点击器
  • 网站人员队伍建设落后在线网站seo优化
  • 网站模板哪里好网站收录有什么用
  • 做外国网站自媒体十大基本营销方式
  • 国家示范校建设成果网站网址推荐
  • 制作动态网站模板作业百度sem竞价托管
  • 怎样做免费网站推广论坛推广的特点
  • 一个公司可以做几个网站吗百度小说风云排行榜
  • 做外链等于网站更新么活动推广方式都有哪些
  • wordpress多久学会知乎关键词排名优化
  • 投资做网站利润分析社群运营
  • 北京出大大事了seo工具包
  • 网站站长 感受seo免费系统
  • 全网营销型网站 新闻手游推广加盟
  • 淘宝网那样的网站模板百度收录的网站