首页 > 其他分享 >springCloud将http请求网关更改为https请求

springCloud将http请求网关更改为https请求

时间:2022-11-28 09:13:04浏览次数:46  
标签:Connector 网关 http 请求 证书 connector https

如果需要将http请求换成https请求,大致需要三步。

第一步:生成证书。网上有很多通过阿里云生成证书的教程。也有通过JDK生成证书。在jdk目录打开命令窗口,执行一下命令:

keytool -genkey -alias gateway -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore scg-keystore.p12 -validity 3650

第二部:将生成的证书复制到网关gateway目录下,然后配置证书参数。注意事项:项目启动时会报DerInputStream.getLength(): lengthTag=111, too big.错误。这是需要将证书所在目录不被maven打包。参考这边博文。https://blog.csdn.net/tengdazhang770960436/article/details/113506940  将证书目录配置在pom文件中。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>



<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<!-- 过滤后缀为pkcs12、jks的证书文件 -->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>cer</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>

</plugins>
</build>

最后如果需要使http请求也能访问则需要在gateway的启动项中加上转发代码,代码如下。

 

 

  @Bean
public ServletWebServerFactory servletContainer() {
Object object = new Object(this);
object.addAdditionalTomcatConnectors(new Connector[] { httpConnector() });
return (ServletWebServerFactory)object;
}

@Bean
public Connector httpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(Integer.valueOf(this.httpPort).intValue());
connector.setSecure(false);
connector.setRedirectPort(Integer.valueOf(this.serverPort).intValue());
return connector;
}



其中httpPort参数为http请求过来的端口号,serverPort为转发到https的端口号。

标签:Connector,网关,http,请求,证书,connector,https
From: https://www.cnblogs.com/0116ct/p/16931296.html

相关文章

  • Modbus RTU转Profinet网关将信衡控制秤接入Profinet的配置过程
    本案例控制的主要对象是信衡控制秤仪表的数据参数的显示和报警,仪表型号XH3180-K,系统主PLC选用西门子S71200,将设备接入西门子PLC的采集数据模块采用MODBUS转PROFINE......
  • 让uniGUI支持https
    今天在专家的帮助下,成功的让uniGUI支持https了。首先,去申请个免费的证书。我同事去阿里申请的,申请回是一个zip文件,里面有两个文件,一个扩展是per,一个key然后,把这两个证书......
  • Http协议
    一http协议简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于万维网(WWW:WorldWideWeb)服务器与本地浏览器之间传输超文本的传送协议。HTTP是......
  • springBoot 过滤器去除请求参数前后空格(附源码)
    背景:用户在前端页面中不小心输入的前后空格,为了防止因为前后空格原因引起业务异常,所以我们需要去除参数的前后空格!如果我们手动去除参数前后空格,我们可以这样做@......
  • axios请求
    安装npminstallaxios--save axios基本使用axios({url:'http://123.207.32.32:8000/home/multidata',method:'get'//不写默认get方式}).then(res......
  • 从ABNF读懂HTTP协议格式
    定义HTTP(HyperTextTransferProtocol)超文本传输协议HTML(HyperTextMarkupLanguage)超文本标记语言URI(UniformResourceIdentifier)用于标识某一互联网资源名称的字......
  • HTTP总结
    http的完整交互过程:当客服端第一向服务器发送请求的时候服务器处理请求给客服端响应,服务器会在响应的请求头里面加入一些东西,就上我在HTTP里面说的哪些在这里我就不重复了......
  • Windows 7环境下HttpListener拒绝访问异常解决方法
      问题:Win7下在尝试搭建简单http服务器的时候,执行httpListener.Start();报错HttpListener拒绝访问异常 代码如下:HttpListenerhttpListener=newHttpListene......
  • HTTP
    这是我画的图来理解客服端与服务端。当客服端发送一个get请求到服务端的时候服务端会处理请求,然后响应给客服端。在给的响应里面服务器会在请求头里面加入cache-control,E......
  • 跨平台网页开发框架ASP.NET Core 7性能大提升,正式支持HTTP/3
     微软跨平台网页开发框架ASP.NETCore即将迎来第7个主要版本,由于.NET7对性能的诸多改善,ASP.NETCore7也同时受益,官方解释,由于.NET7在性能部分的提升,许多方面直接或间接......