网站美工建设意见h5开发环境搭建
网站美工建设意见,h5开发环境搭建,广州冼村的人为什么这么有钱,做艺术网站素材前言
HTTP 具有相当优秀和方便的一面,然而 HTTP 并非只有好的一面#xff0c;事物皆具两面性#xff0c;它也是有不足之处的。例如#xff1a;
通信使用明文#xff08;不加密#xff09;#xff0c;内容可能会被窃听。不验证通信方的身份#xff0c;因此有可能会遭遇…前言
HTTP 具有相当优秀和方便的一面,然而 HTTP 并非只有好的一面事物皆具两面性它也是有不足之处的。例如
通信使用明文不加密内容可能会被窃听。不验证通信方的身份因此有可能会遭遇伪装。无法证明报文的完整性所以有可能会遭篡改等。
因HTTP有存在通信上的不足HTTPS因此诞生HTTPS 是身披 SSL 外壳的 HTTPHTTPS采用非对称加密从而相对安全。
SSL协议介绍
SSL (Secure Sockets Layer安全套接层是一个不依赖于平台和运用程序的协议位于TCP/IP协议与各种应用层协议之间为数据通信提高安全支持。
是由Netscape公司于1990年开发用于保障Word Wide WebWWW通讯的安全。主要任务是提供私密性信息完整性和身份认证。 SSL原理详解
SSL的体系结构中包含两个协议子层其中底层是SSL记录协议层SSL Record Protocol Layer高层是SSL握手协议层SSL HandShake Protocol Layer。 SSL记录协议层的作用是为高层协议提供基本的安全服务。SSL纪录协议针对HTTP协议进行了特别的设计使得超文本的传输协议HTTP能够在SSL运行。纪录封装各种高层协议具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。SSL握手协议层包括SSL握手协议SSL HandShake Protocol、SSL密码参数修改协议SSL Change Cipher Spec Protocol和SSL告警协议SSL Alert Protocol。握手层的这些协议用于SSL管理信息的交换允许应用协议传送数据之间相互验证协商加密算法和生成密钥等。 SSL握手协议的作用是协调客户和服务器的状态使双方能够达到状态的同步。 其中最重要的是记录协议和握手协议
SSL记录协议它建立在可靠的传输如TCP之上为高层协议提供数据封装、压缩、加密等基本功能SSL握手协议它建立在SSL记录协议之上用于在实际的数据传输开始之前通讯双方进行身份认证、协商加密算法、交换加密密钥等。
整合HTTPS
SSL证书的颁发必须是公开公认的CA机构颁发的在浏览器中才会被认可是合法的 SSL证书是针对域名的单域名的SSL证书对非该域名是无效的通配域名证书对一级域名和二级域名都有效。
生成自签名SSL
在JDK bin目录下运行
# D:\java\key 此地址为存放目录需要自己创建
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore D:\java\key\keystore.p12 -validity 3650 -ext sanip:127.0.0.1,dns:localhost -storepass 123456输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?[Unknown]:
您的组织单位名称是什么?[Unknown]:
您的组织名称是什么?[Unknown]:
您所在的城市或区域名称是什么?[Unknown]:
您所在的省/市/自治区名称是什么?[Unknown]:
该单位的双字母国家/地区代码是什么?[Unknown]:
CNUnknown, OUUnknown, OUnknown, LUnknown, STUnknown, CUnknown是否正确?[否]: 是各参数的含义 -storetype 指定密钥仓库类型-keyalg 生证书的算法名称RSA是一种非对称加密算法-keysize 证书大小秘钥长度-keystore 生成的证书文件的存储路径-validity 证书的有效期单位 天-alias 表示keystore的别名-genkey 表示要创建一个新秘钥-ext sanip: 安装证书后通过这个IP进行访问不会提示不安全多个IP使用[,]分隔-ext sandns: 安装证书后通过这个域名进行访问不会提示不安全多个域名使用[,]分隔 执行完上面一行命令后在你的系统的当前用户目录下会生成一个keystore.p12文件我们也可以使用以下命令查看证书内容
keytool -list -v -storetype pkcs12 -keystore keystore.p12 如果你已经有SSL证书你也可将其导入到keystore里供Spring Boot使用
keytool -import -alias tomcat -file myCertificate.crt -keystore keystore.p12 -storepass password
配置文件
将这个文件拷贝到我们项目的resources目录下然后修改application.properties文件添加HTTPS支持。
server:port: 443servlet:context-path: /session:timeout: PT24H # 超时24小时ssl:#文件地址key-store: classpath:certificate/keystore.p12#证书密码key-store-password: 123456key-store-type: PKCS12key-alias: tomcathttp2:enabled: true这样就可以通过HTTPS来访问我们的Web了。
配置HTTP重定向至HTTPS
光有HTTPS肯定还不够很多用户可能并不知道用户有可能继续使用HTTP来访问你的网站这个时候我们需要添加HTTP自动重定向到HTTPS的功能当用户使用HTTP来进行访问的时候自动转为HTTPS的方式。
配置很简单在入口类中添加相应的重定向Bean就行了如下
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** ClassName: ConnectorConfig* description:* author: Liuxb* version: v1.0* date: 2023/10/26 14:47*/
Configuration
public class ConnectorConfig {Beanpublic TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){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(connector);return tomcat;}Beanpublic Connector connector (){Connector connector new Connector(org.apache.coyote.http11.Http11NioProtocol);connector.setScheme(http);connector.setSecure(false);// 代理端口connector.setPort(80);// yml端口connector.setRedirectPort(443);return connector;}}
这个时候当我们访问http://localhost:80的时候系统会自动重定向到https://localhost:443这个地址上。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89880.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!