网站配置SSL(HTTPS)

网站配置SSL(HTTPS)

第一步: 申请域名

申请域名不是重点,官网都有提示。

第二步: 申请免费SSL证书

申请SSL也不是此次讲述的重点,去官网直接申请即可(我是腾讯云申请的)

1.当你的SSL证书申请通过后(也就几个小时,可能会更快),将SSL证书下载到本地

在这里插入图片描述

2.下载后解压缩

  • 之前我见他们发的帖子Tomcat文件夹中还有一个txt文件,可能由于我申请SSL的时候设置了秘钥,所以解压后tomcat文件中没有txt密码文件

在这里插入图片描述

第三步: 配置Linux服务器

  • 前提: 安装nginx,这个百度一下都是,不是本次讲述的重点

配置Linux要用到Nginx文件夹中的文件,其实配置的步骤在腾讯云官网也有提供,下面是我实现的步骤

  • 官网链接: https://cloud.tencent.com/document/product/400/35244

1.将解压缩后的Nginx目录下这两个文件上传到 /usr/local/nginx/conf目录

  • www.123.com_bundle.crt
  • www.123.com.key

2.配置nginx

  • 1).下面的配置我既配置了https ,也配置了http转https,这样的目的是不用每次还得输入https://www.123.com才能是安全的连接。
  • 2).我web服务放在了httpd中,httpd之前的监听端口是80,现在防止和nginx冲突,所以改了端口,这个端口自定义,别的服务没有使用就可以,这里也不讲述httpd的安装方式,自行百度就可以
# vim /usr/local/nginx/conf/nginx.conf 

----------------下面是配置内容----------------

	server {
        #SSL 访问端口号为 443
        listen      443 ssl;

        #填写绑定证书的域名
        server_name www.123.com;
        #证书文件名称
        ssl_certificate 1_www.123.com_bundle.crt;
        #私钥文件名称
        ssl_certificate_key 2_www.123.com.key;
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
            root   /var/www/html/dist;
            index  index.html index.htm;
        }

    }

    server {

    listen 80;

    #填写绑定证书的域名
    server_name www.123.com;

    #把http的域名请求转成https
    return 301 https://www.123.com;

   }
   

我之前按照上面的方式配置,发现能用https的方式访问到我的前端页面,但是前端调用后端的时候提示报错,大概的意思就是,https的服务不能调用http的服务。所以在配置后端(Spring boot服务)的时候费了大劲了,那种痛苦的过程就不说了,直接说结果吧!接着往下看

第四步: 配置Spring boot 服务

当我看到网上的帖子Spring boot配置SSL的方式,当时我就想这个配置应该不会太难,只是没有找到对的方式,但是我配置的时候主要是以下的问题(我在本地访问报错)

Caused by: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown

老说我这个证书未知,而后一位大佬的一句话让我顿悟了!SSL 证书只支持申请的域名进行访问,非申请的域名进行访问,将会导致证书错误。一开始我看到这句话没有深入的理解,像一个无头的苍蝇乱窜的很久,又返回头来读了一遍这句话,顿时茅舍顿开,因为我在本地访问后端无非就是127.0.0.1或是192.xxx.xxx.xx,这个根本就不是我这个证书绑定的域名呀,后来我也是抱着尝试的心态,配置好服务,打包上传linux,启动,用这样的方式去访问https://www.123.com:9091/api,我的天哪,久违的小锁子出现在了我的面前,页面正确的返回了我这个接口的信息,顿时肾上腺素大量的分泌,这就是幸福呀!哈哈,看配置吧

1.将刚刚解压SSL包中的,Tomcat目录下的www.123com.jks文件复制到你微服务的resource目录下,和application.yaml平级(我是放在了网关服务)

在这里插入图片描述

2.配置Spring boot服务就是这么的简单!如果你的服务可能还会有其他http来访问你的后端,那你应该去设置http转https,这个网上也有案例,我这里没有这个需求,所以就没有配置!

总结:

好了,到这里别人访问你的服务不会提示这个网站不安全了,以上就是配置https(SSL)的全部示例,如果你有什么好的配置的方法,欢迎留言讨论

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值