已经开始工作了,确实今年的压力比去年大了一些。可能是心态问题吧,虽然在家办公但是依然感觉很压抑。 状态就是: "感觉很忙,但是又没有目标"。不知道有没有人有过这种感觉。所以呢就翻看了一下之前写的 一只程序员的2019 。看完后终于知道做点什么了?
2020年一个小目标,开发一款智能音箱应用。应用的使用场景早就想好了,只是上一年没有调通接口。今年换了个平台继续研究。 研究了一下文档,按照流程配置发现:
毕竟使用某些库直接访问https不可信证书的情况下还需要做忽略实现。所以还是使用可信证书吧。不能让我2020年计划直接挂在这个https上。
首先申请一个SSL证书,发现马总那里有免费的SSL证书可以用。那么就在马总这里申请一个吧。进入腾讯云SSL证书进行购买选择域名型免费版
购买后进入填写页面。绑定SSL证书与域名进行绑定。按照必填项进行填写。其他可以不填。
填写好以后点击下一步进入,选择使用手动dns的方式提交。然后查看证书详情。
现在就是需要我们去域名提供商那里增加一个解析。 现在就需要跟另一位马总合作一下了。进入阿里云域名解析增加一个dns配置。
回到腾讯云状态变更为 已颁发 即可进行下载。
下载获得一个压缩文件,压缩文件里有 Apache,IIS,Tomcat等域名与密码。
由于项目本身使用SpringBoot来做的,直接在SpringBoot上使用https吧。
server.port=443
server.ssl.key-store=classpath:www.aaaa.com.jks
server.ssl.enabled=true
server.ssl.key-store-password=1231 ###解压包里面有密码
server.ssl.key-store-type=JKS
spring.devtools.restart.enabled=true
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 SSLConfig {
// 如果没有使用默认值80
@Value("${http.port}")
Integer httpPort;
// 正常启用的https端口 如443
@Value("${server.port}")
Integer httpsPort;
@Bean
public TomcatServletWebServerFactory servletContainer() { //springboot2 新变化
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected 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(initiateHttpConnector());
return tomcat;
}
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(httpPort);
connector.setSecure(false);
connector.setRedirectPort(httpsPort);
return connector;
}
}
再次进入智能音箱开发控制后台,输入调用地址。测试...正常!!!
这是一个好的开始!!!