1.获取阿里云免费证书:阿里云免费证书藏得比较深,要按套路出牌才能找到:
进入阿里云证书购买界面:选择品牌-Symantec,证书类型选择-增强型 OV SSL,就会出现以下界面,然后点击购买绑定域名下载即可:
2.配置SSL:
将*.pfx 文件放到项目得resources目录下,并再yml文件中配置:
server: port: 443 ssl: key-store: classpath:证书文件名.pfx key-store-password: 密码 key-store-type: PKCS12
然后在*Application启动类中加入如下代码:
@Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { @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(80); connector.setRedirectPort(443); connector.setSecure(false); return connector; }
最后一步,在pom.xml 加入(此处必须添加否则启动报错):
启动服务器出现如下log说明配置成功:
2019-02-14 14:45:29 [main] INFO org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer - Tomcat started on port(s): 443 (https) 80 (http)
2019-02-14 14:45:29 [main] INFO org.springframework.cloud.netflix.eureka.serviceregistry.EurekaAutoServiceRegistration - Updating port to 443
2019-02-14 14:45:29 [main] INFO com.gateway.GateWayApplication - Started GateWayApplication in 22.345 seconds (JVM running for 23.431)