教你启用HTTPS,让你的网站也能通过https访问

本文涉及的产品
.cn 域名,1个 12个月
简介: 本文主要介绍 如何启用HTTPS

一、准备工作


  • 服务器一台(可以购买阿里云轻量应用服务器,比较便宜)


  • SSL证书 (可以注册阿里云免费证书,安全性较差)


  • 域名一个 (可以在万网上购买并要进行备案)


  • 本地打包好的项目(博主是使用springboot开发,所以打包好的是jar包而不是war包)


  • ftp客户端


首先在服务器上搭建好环境(数据库,jdk之类的),因为演示的项目是由SpringBoot搭建,有内置运行容器,所以不用Tomcat。


1)SSL证书


可以上阿里云申请免费版的SSL证书,也可以访问FreeSSL网站进行注册免费的证书


2)域名备案成功后需要进行解析


到阿里云控制台,进入域名管理




3)解析完成后在这块点击证书申请,填写相关信息



申请好后经过审核 ,然后便可以点击下载



4)注入ServletWebServerFactory


在我们SpringBoot项目中的启动类中注入ServletWebServerFactory


@Bean
public ServletWebServerFactory servletContainer(){
    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
    tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
    return tomcat;
}
private Connector createHTTPConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    //同时启用http(8080)、https(8866)两个端口
    connector.setScheme("http");
    connector.setSecure(false);
    connector.setPort(8080);
    connector.setRedirectPort(8866);
    return connector;
}


然后在application.properties配置文件中添加



这里注意是server.ssl.key-store-password而不是 server.ssl.key-password


5)打包项目


自己打包好的项目和下载下来的证书放到usr/develop/project 文件夹下,文件夹目录可以自己选择。


为了方便我自己建了几个脚本方便运行。


  • vim start.sh


建立启动脚本,内容如下:


nohup java -jar 自己的项目名称.jar &


  • vim stop.sh


建立停止脚本,内容如下:


PID=$(ps -ef | grep 自己的项目名称.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill -9 $PID
fi


  • vim run.sh


建立运行脚本,内容如下


echo stop application
source stop.sh
echo start application
source start.sh


然后在终端输入 ./run.sh如果提示没有权限,则输入


chmod u+x *.sh


然后再输入 ./run.sh这样我们的程序就启动了,然后我们在浏览器上就可以通过https://域名:端口号访问自己的项目了


目录
相关文章
|
4月前
|
弹性计算 应用服务中间件 Apache
ECS配置问题之输入ip无法访问如何解决?
ECS配置指的是对阿里云Elastic Compute Service(弹性计算服务)实例的硬件和软件资源进行设置的过程;本合集将详述如何选择合适的ECS配置、调整资源配比以及优化实例性能,以满足不同应用场景的需求。
|
3月前
|
安全 网络协议 网络安全
HTTPS:保护你的网站免受中间人攻击的关键技术
【6月更文挑战第13天】HTTPS是抵御中间人攻击的关键技术,通过数据加密、身份验证和完整性保护保障网络安全。它基于SSL/TLS协议加密通信,防止数据被窃取或篡改,并使用数字证书确认服务器身份,避免伪造。要确保HTTPS安全,需使用有效数字证书,启用强制HTTPS,定期更新维护并限制访问范围。
|
13天前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
17天前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
|
29天前
|
网络安全 Apache Windows
网站⭐Windows下,将xampp升级为https
网站⭐Windows下,将xampp升级为https
|
3月前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
在访问App Service的KUDU工具或使用`az webapp deploy`时遇到SSL错误:`SSL: CERTIFICATE_VERIFY_FAILED`。解决方法是临时禁用Azure CLI的SSL验证。在PowerShell中,设置`$env:ADAL_PYTHON_SSL_NO_VERIFY`和`$env:AZURE_CLI_DISABLE_CONNECTION_VERIFICATION`为1;在Windows命令提示符中,使用`set AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1`。注意,这可能引入安全风险,应仅在必要时使用。
|
3月前
|
监控 安全 网络安全
探讨网站加密访问的安全性问题:HTTPS的防护与挑战
**探讨HTTPS在网站加密中的角色,提供数据加密和身份验证,防范中间人攻击。心脏滴血漏洞示例显示持续维护的必要性。面临证书管理、性能影响和高级攻击挑战,应对措施包括更新、HSTS策略及用户教育。HTTPS是安全基础,但需不断优化以应对新威胁。**
132 2
|
3月前
|
应用服务中间件 网络安全 nginx
docker 搭建 最新版本的 gitlab,使用HTTPS访问,以及gitlab的基础使用讲解
docker 搭建 最新版本的 gitlab,使用HTTPS访问,以及gitlab的基础使用讲解
|
4月前
|
应用服务中间件 网络安全 Apache
解决跨域和https不能访问的问题
【4月更文挑战第10天】解决跨域和https不能访问的问题
200 2
解决跨域和https不能访问的问题
|
4月前
|
安全 算法 网络协议
HTTPS:如何确保您的网站数据传输安全?
HTTPS:如何确保您的网站数据传输安全?
181 2