我本来是不想配置的
这两天给爸妈写个小app,现学现用,主要就是获取我服务端配置的影视app, 同时我大爷也需要,后端得根据用户和tv类型再分个类。

再解决了诸多困难之后,准备签名发布app了,发现又出幺蛾子,在我给我妈买的android13平板上打开,请求接口报错:
cleartext communication to xxx.xxx.xxx not permitted by network security policy
我去查了一下发现targetSdk 在27以后不允许使用http了,哎我操,真会玩,就真像你使用了tls就安全了一样!!!

没办法,只能配置下https.

配置https

首先去腾讯云 ssl 申请一个证书,当前二级域名的证书,只要域名验证通过,审核很快,(我是采用文件验证,另外两种一直通过不了)
然后由于springboot项目是tomcat启动的,要下在JKS的证书!!
如果没有配置证书密码的话,下载下来的文件夹里会有密码。
然后把证书放到resources目录下,在application.yml中配置

server:
  port: 2800
  ssl:
    key-store: classpath:diary.devilwst.top.jks
    key-password: z67yhu98ikop09i
    key-store-type: JKS

配置好之后放到服务器,注意开通安全组,https就可以用了

同时支持http

在启动类里加上这个.
注意:2801是http端口,2800是https端口

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }

    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(2801);
        return connector;
    }

如果访问出现Error: connect ETIMEDOUT ,采用了宝塔的话宝塔的安全组也要放开,服务器的也要放开。

分类: java

0 条评论

发表评论

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

站点统计

  • 文章总数:304 篇
  • 分类总数:19 个
  • 标签总数:189 个
  • 运行天数:852 天
  • 访问总数:459539 人次
ICP备案号: 辽ICP备20003309号