server.port = 443
server.ssl.key-store=classpath:eryoyo.xyz.jks
# 复制keystorePass里面的内容
server.ssl.key-store-password=xxx
在项目的入口处添加下面的代码
@Value("${server.port}")
Integer port;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory () {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint constraint = new SecurityConstraint();
constraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
constraint.addCollection(collection);
context.addConstraint(constraint);
}
};
tomcat.addAdditionalTomcatConnectors(httpConnector());
return tomcat;
}
@Bean
public Connector httpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
// Connector监听的http的端口号
connector.setPort(80);
connector.setSecure(false);
// 监听到http的端口号后转向到的https的端口号
connector.setRedirectPort(port);
return connector;
}
此时运行之后访问https://localhost可以访问页面按照之前的在服务器部署springboot的博客部署在服务器上,但是有一点不同的是docker容器运行的时候需要开启两个端口映射,一个对应443(https),一个对应80(http)
配置服务器上面的nginx
将之前下载的nginx类型的证书解压
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riO7SOfG-1650876934404)(…/pic/image-20220404114209063.png)]
将eryoyo.xyz_bundle.crt和eryoyoyo.xyz.key复制到服务器的nginx的conf文件夹下编辑nginx.conf文件,添加如下server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name eryoyo.xyz;
#证书文件名称
ssl_certificate eryoyo.xyz_bundle.crt;
#私钥文件名称
ssl_certificate_key eryoyo.xyz.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# location /upload {
# alias /home/lighthouse/blog/upload;
# }
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录 *** 作。
#例如,您的网站运行目录在/etc/www下,则填写/etc/www。
# root html;
# 该端口号是服务器内部映射到宿主机的443对应端口号
proxy_pass https://eryoyo.xyz:端口号;
index index.html index.htm;
}
}
重新加载nginx配置文件之后运行容器,浏览器输入https://eryoyo.xyz即可成功访问
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)