记录第一次http转https

之前小程序用的后端是咸虾米老师的,昨天写小程序就想着自己又不是不会写?用自己的吧,然后发现微信小程序要域名是https协议的。看来又得学新东西了Q-Q

查了下大概要这么几个步骤

1.购买ssl证书

2.通过naginx配置ssl证书

3.将以前的http重定向到https

那就从第一步开始,应该是这个吧

这边我登录域名控制台发现DNS解析记录好像是自动添加到了里面

然后应该是要等等吧~

哦,验证了刷新就可以了。发现已经签发了

然后就可以下载证书了,这边我用的服务器是nginx,那就下载这个版本的

在nginx的目录下创建cert目录,将crt和key文件放入。并将key文件改名为a.key和a.pem

调整nginx配置

nginx安装ssl模块

在调整nginx配置的时候产生了报错

可以看到监听有问题,此处把listen 443和ssl on改为listen 443 ssl

然后报错a.pem文件找不到。搜了很多方法也没解决,然后自己琢磨看报错发现路径不对,把cert文件投放到conf文件中需要

server {
	listen 443 ssl;
	server_name localhost;
	root html;
	index index.html index.htm;
	
	ssl_certificate   cert/a.pem;
	ssl_certificate_key  cert/a.key;
	
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;
	location / {
	    root html;
	    index index.html index.htm;
	}
}

重启服务器

突然发现宝塔可以在网页那直接配置。。这边我试了下好像可以

但是登录进去发现我的接口全部挂了。横尸遍野???

搜到个方法是在网站加

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

有效是有效。现在发送的请求是变成https了,但我的接口不是https??

var fs = require('fs');
const express = require('express')
var path = require('path');
var http = require('http');
var https = require('https');

var privateKey  = fs.readFileSync('sslcert/a.key', 'utf8');
var certificate = fs.readFileSync('sslcert/a.pem', 'utf8');
var credentials = {key: privateKey, cert: certificate};

const app = express()
var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);

var cors = require('cors')
app.use(cors())






httpServer.listen(3000);
httpsServer.listen(3001);

因此我对我本来的接口做了一个调整,改为了https。

然后用postapi测试没问题。实际还是会报错

确认报错原因为之前用的为IP地址,用了ssl那么得用域名,因为证书是颁发给域名的

将原来前端的baseurl更改为了域名,访问成功了。

检查了一下整体发现还是有点问题,发现有些调用的外部的http接口也变成了https导致失败,寻思了下还是将之前的mata删了修改baseurl~

之前的反向代理报错404,说明路径肯定出错了。排查了一下原因是上边服务器对443端口的设定还没有完全完成,需要在里面重新完成之前的重定向,并且需要把servername更改为自己的域名,这样在执行https//www......./代理参数时,才可以完成跳转~

做一下总结,大概做了这些动作

1.购买ssl证书绑定域名

2.下载证书到后端文件和服务器文件与网站

3.后端配置https

4.服务器配置ssl,并完善重定向

5.前端请求更改为https

*6.7日追更

之前说的有问题,443端口用于https 服务名用的是localhost而不是网站域名,https不能将http网站的代理丢进去用,昨天在登录网页的时候发现手机和电脑都可以登录,ipad使用的时候接口就调用不了,寻思了半天,然后在设置清除了下safari的记录就好了,害~!

参考博文:http升级为https全过程(通过nginx安装SSL证书)-CSDN博客

参考博文:Express使用Https服务器-CSDN博客

相关推荐

  1. c++ http第一个服务

    2024-06-10 13:42:01       36 阅读
  2. HTTP 的三握手

    2024-06-10 13:42:01       7 阅读
  3. <span style='color:red;'>HTTPS</span>

    HTTPS

    2024-06-10 13:42:01      41 阅读
  4. https

    2024-06-10 13:42:01       33 阅读
  5. Https

    2024-06-10 13:42:01       26 阅读
  6. <span style='color:red;'>HTTP</span>

    HTTP

    2024-06-10 13:42:01      16 阅读
  7. <span style='color:red;'>HTTPS</span>

    HTTPS

    2024-06-10 13:42:01      17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 13:42:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-10 13:42:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-10 13:42:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-10 13:42:01       18 阅读

热门阅读

  1. AI学习指南机器学习篇-决策树的模型评估

    2024-06-10 13:42:01       8 阅读
  2. 爬山算法详细介绍

    2024-06-10 13:42:01       9 阅读
  3. 爬山算法的详细介绍

    2024-06-10 13:42:01       9 阅读
  4. 检测数据类型的方法有哪些

    2024-06-10 13:42:01       6 阅读
  5. 详细说说机器学习在交通领域的应用

    2024-06-10 13:42:01       7 阅读
  6. web前端微服务设计:深入剖析与实践

    2024-06-10 13:42:01       7 阅读
  7. spring和Mybatis的各种查询

    2024-06-10 13:42:01       12 阅读
  8. linux 触屏, 旋转后配置pen

    2024-06-10 13:42:01       9 阅读
  9. github的个人readme文件

    2024-06-10 13:42:01       8 阅读
  10. C#进阶高级语法之LINQ

    2024-06-10 13:42:01       7 阅读
  11. #11 提升效率:Stable Diffusion批处理技术

    2024-06-10 13:42:01       6 阅读