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

合肥做双语网站佛山移动网站建设公司

合肥做双语网站,佛山移动网站建设公司,专业微网站营销,数据可视化文章目录 1_Https 的作用2_获取证书3_配置项4_配置类5_控制类6_启动类 1_Https 的作用 保护用户的隐私信息安全: 在 HTTP 网站数据以明文方式传输,客户的隐私极容易被盗取和泄露,而部署 SSL 证书,数据以 HTTPS 加密传输&#xf…

文章目录

    • 1_Https 的作用
    • 2_获取证书
    • 3_配置项
    • 4_配置类
    • 5_控制类
    • 6_启动类

1_Https 的作用

保护用户的隐私信息安全:

在 HTTP 网站数据以明文方式传输,客户的隐私极容易被盗取和泄露,而部署 SSL 证书,数据以 HTTPS 加密传输,可以保护通信不被第三方监听和窃取,从而保护用户隐私及安全。还可增加用户信任感和提升企业形象。

保护网站的安全性和完整性:

HTTPS 是安全套接层超文本传输协议,可以保证网站的信息从用户浏览器到服务器之间的传输是高强度加密传输的,是不会被第三方窃取和篡改的,还能避免网站被劫持而插入广告等,防止被钓鱼网站攻击,从而保护网站的安全性和完整性

防止被钓鱼网站攻击,有效识别网站真实身份:

http 网站会被浏览器标记 “不安全”,而安装 https 证书会取消这种 “不安全” 的警告,能增加访客信任度。同时对于安装了 OV SSL 证书或 EV SSL 证书的网站,还能向用户证明网站的真实身份,防止网站被钓鱼网站仿冒。

2_获取证书

需要在 SSL 证书颁发机构处申请或购买 SSL 证书,并下载对应的 .pem.key 文件。

由于只是进行本地测试,所以这里将使用JDK1.8 开发工具包 bin 目录下的keytool.exe工具生成ssl密钥:

keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650 -storepass your-password

  • -genkeypair : 表示创建密钥。
  • -alias: 保存时的别名。
  • -keyalg:加密算法选择,这里使用RSA。
  • -keysize:秘钥大小,是有固定要求的。
  • -storetype:秘钥存储库的类型。
  • -keystore:密钥的存放位置。
  • -validity:有效时间,单位是天。
  • -storepass:密钥库口令。

可以使用代码验证秘钥生成是否正确,如:

package org.example;import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;public class KeystoreExample {public static void main(String[] args) {String keystorePath = "path/to/your/keystore.p12";char[] keystorePassword = "your-keystore-password".toCharArray();try (FileInputStream fis = new FileInputStream(keystorePath)) {KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());keystore.load(fis, keystorePassword);System.out.println("密钥库加载成功");} catch (java.io.IOException e) {System.err.println("密钥库加载失败: " + e.getMessage());} catch (NoSuchAlgorithmException | CertificateException | KeyStoreException e) {System.err.println("可能是密码错误导致的解密失败");e.printStackTrace();}}
}

或者使用keytool.exe工具进行验证

keytool -list -v -keystore  keystore.p12

3_配置项

application.properties

server.port=8081
server.error.path=/log
server.servlet.session.timeout=30s
# 设置应用程序的上下文路径为 /test002。这意味着所有以 /test002 开始的 URL 都将被认为属于这个应用程序。
server.servlet.context-path=/test002
server.tomcat.uri-encoding=UTF-8
server.tomcat.threads.max=500
# 表示秘钥存储库的类型
server.ssl.key-store-type=PKCS12
# 表示 SSL 密钥存储库的名称为 keystore.p12
server.ssl.key-store=classpath:ssl/keystore.p12
# 表示 SSL 密钥别名为 myalias  。
server.ssl.key-alias=myalias
# 这行设置的是 SSL 密钥存储库的密码为 your-password
# 密码不能特别简单,不然项目启动时会出现异常
server.ssl.key-store-password=your-password

其中,server.port 配置 HTTPS 监听端口。server.ssl.key-store 配置证书存放路径,server.ssl.key-store-password 配置证书密码,server.ssl.key-store-typeserver.ssl.key-alias 分别指定证书的类型和别名。

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><groupId>org.example</groupId><artifactId>spring_Back</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.9.RELEASE</version><relativePath/></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>

4_配置类

package org.example.config;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;@Configuration
public class TomcatConfig {/*** 设置 Tomcat 的Server配置* @return*/@BeanTomcatServletWebServerFactory tomcatServletWebServerFactory(){TomcatServletWebServerFactory myFactory = new TomcatServletWebServerFactory(){//创建一个安全约束对象@Overrideprotected void postProcessContext(Context context) {SecurityConstraint constraint = new SecurityConstraint();constraint.setUserConstraint("CONFIDENTIAL");//设置为机密级别SecurityCollection connection = new SecurityCollection();//设置一个安全连接对象//作用到所有路由上connection.addPattern("/*");//加入 connection 对象到安全路由中去constraint.addCollection(connection);context.addConstraint(constraint);}};//配置HTTPS连接器myFactory.addAdditionalTomcatConnectors(createConnector());return myFactory;}/*** 创建一个连接兼容Https请求* @return*/private Connector createConnector(){//tomcat 9 中//tomcat/conf/server.xml中不要使用org.apache.coyote.http11.Http11AprProtocol//要用HTTP/1.1Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);//"HTTP/1.1"connector.setScheme("http");connector.setPort(8080);connector.setSecure(false);//关闭ssl检查//设置跳转到8081 的端口connector.setRedirectPort(8081);return connector;}
}

这段代码创建了一个 Tomcat Servlet 容器,并配置了一个 HTTPS 连接器。其中 redirectConnector() 方法实现了将 HTTP 请求重定向到 HTTPS 的功能。

  • 启动项目:完成上述配置后,重新启动项目,就能够在 HTTPS 协议下访问 Web 应用了。

需要注意的是,在实际生产环境中,还需要配置服务器的防火墙、负载均衡等相关组件,保证 HTTPS 的安全性和稳定性。

5_控制类

package org.example.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class FirstController {@GetMapping("/hey")public String hey(){return "hey main";}
}

6_启动类

package org.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;@EnableAutoConfiguration
@ComponentScan
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class,args);}
}

此时使用 http 协议访问 8080 端口将跳转到 https 协议下的 8081端口。

http://www.yayakq.cn/news/517754/

相关文章:

  • 哪些网站图片做海报好贵州新站优化
  • vip影视建设网站官网网站建设的大纲
  • 军事网站大全军事网室内平面设计软件
  • 电子商务网站建设需要哪些步骤淘宝内部卷网站建设
  • wordpress仿站pdf找项目去哪个平台
  • 安徽网站开发培训东莞需要做推广的公司
  • 电子商城网站开发对接php红酒网站建设
  • 紫金网站制作策划做弩的网站
  • 有什么做木工的网站我为群众办实事
  • 长春做商业平台网站买域名后怎么做网站
  • 商城网站管理系统网站建设的开源平台
  • 对网站建设的考核机制二维码生成器在线制作二维码
  • 西安网站seo推广厂家国家排污许可网站台账怎么做
  • 上海的外贸网站建设公司排名广州市外贸网站建设
  • 网站建设情况介绍网站策划工具
  • 销售网站开发企业黄页软件
  • 网站改版的seo注意事项做网站徐州
  • 行情网免费网站大全韩国情侣网站模板
  • 网站的版式设计wordpress和discuz哪个
  • 0元购怎么在网站做施工企业应建立的安全健康与环境管理制度包括
  • 公司的国外网站怎么建吉林有做网站的吗
  • 网站开发公司上海他达拉非哪个牌子好
  • 商学院网站建设建议舆情监测系统永久免费
  • 商丘网站设计商业性质网站建设步骤
  • 网站建设项目方案模板链接翻译wordpress
  • 晋江网站设计公司小网站怎么做
  • 江西做网站多少钱沧浪网站建设方案
  • 帮别人做网站被抓百度分享代码 wordpress
  • 一个网站交互怎么做的网站seo搜索引擎的原理是什么
  • 一级a做网站免费怎样构建网站