最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用https协议了,马上研究了一波,顺便也想给自己的博客升成https的。

申请免费证书

  • 哈哈没办法就是喜欢免费的。。。真是煞费苦心找了很久。。还是找到咯

  • https://freessl.org/进去有两个选项,一个亚洲诚信的(一年),一个let's encrypt(3个月),我选的亚洲诚信的

  • 填写邮箱,这里注意,如果选择浏览器生产的话,最好用chrome,我用ff失败了

  • 得到一个txt记录和记录值

  • 进入阿里云后台设置DNS

  • 添加后,等待1分钟左右吧,就可以点“手动验证”了

  • 跳转到一个验证页面,验证,然后注意要全部都"匹配",如果没匹配继续在那个页面操作

  • 全部”匹配“后,回到之前页面,点击"验证"

  • 不出意外会获得证书了

  • 分别用记事本保存下来,上面的存abc.crt,下面存abc.key

  • https://www.myssl.cn/tools/downloadchain.html,将abc.crt复制进去,得到中间证书chain.crt

配置apache的https

  • 自己用的apache,这里只讲apache的配置
  • 安装apache的mod_ssl.so模块

    yum -y install mod_ssl
  • 修改 ssl.conf

    vim /etc/httpd/conf.d/ssl.conf

  • 重启apache

    service httpd restart
  • 启动重定向(可选),使用用户HTTP访问自动重定向为HTTPS,直接在http.conf最后配置即可,

    vim /etc/httpd/conf/httpd.conf
  • 在httpd.conf文件尾加入如下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]

node配置https

  • 刚开始以为可以了,结果进入网站一看,所有接口都报错了,原来网站服务器使用https后,接口也必须使用https的,没办法,继续折腾

  • node里面配置一波

  • 重启服务器node

  • 规矩!

apache反向代理

  • 还没完。。。。
  • 因为小程序后台接口是不允许ip或者端口的,而自己的后台接口是node写的,用的端口是8888。
  • 因为自己项目是前后端分离的,https默认端口443已经被apache占用了。咋办?
  • 只有用apache反向代理了
  • vim /etc/httpd/conf/httpd.conf
  • 在httpd.conf文件尾加入如下内容
# 反向代理
ProxyRequests Off
SSLProxyEngine on
# 正式
ProxyPass /api https://www.yangyuetao.cn:8888/api
ProxyPassReverse /api https://www.yangyuetao.cn:8888/api
# 测试
ProxyPass /api2 https://www.yangyuetao.cn:8889/api2
ProxyPassReverse /api2 https://www.yangyuetao.cn:8889/api2
#8888为apache的监听端口
<proxy https://127.0.0.1>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
  • 这样配置后
  • 当请求https://www.yangyuetao.cn/api的时候,请求会自动变为https://www.yangyuetao.cn:8888/api
  • 而请求https://www.yangyuetao.cn/api2的时候,请求会自动变为https://www.yangyuetao.cn:888/api

安全

  • 关闭RC4弱密码套件https://www.cnblogs.com/pshell/p/7942059.html
  • 关闭SSLv3http://blog.sina.com.cn/s/blog_777f9dbb0102v8de.html
  • 检测https://myssl.com/

最后

大家好,这里是「 TaoLand 」,这个博客主要用于记录一个菜鸟程序猿的Growth之路。这也是自己第一次做博客,希望和大家多多交流,一起成长!文章将会在下列地址同步更新……

个人博客:www.yangyuetao.cn

小程序:TaoLand

小程序https请求,http网站升到https的更多相关文章

  1. 如何监控微信小程序HTTP请求错误

    摘要: Fundebug的微信小程序错误监控插件更新至0.5.0,支持监控HTTP请求错误. 接入插件 接入Fundebug的错误监控插件非常简单,只需要下载fundebug.0.5.0.min.js ...

  2. 微信小程序数据请求方法wx.request小测试

    微信小程序数据请求方法 wx.request wxml文件: <view> <textarea value="{{textdata}}"/> </vi ...

  3. 微信小程序 网络请求之re.request 和那些坑

    微信小程序有四种网络请求类型,下面只详细介绍普通HTTPS请求(wx.request) 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downlo ...

  4. 微信小程序 -- 数据请求

    微信小程序 -- 数据请求 微信小程序请求数据,并不是一个可以在url打开有数据就可以拿到数据那么简单 浏览器地址输入 可以获取参数的url 微信小程序中 代码展示 wxml <view> ...

  5. mpvue学习笔记-之微信小程序数据请求封装

    简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...

  6. 微信小程序POST请求参数传递不到后台, 前台获取不到后端返回的数据, 以及 post 请求返回 404 但后台能收到数据

    1 微信小程序POST请求参数传递不到后台 需要在微信请求 wx.request 改变默认 header 配置为如下 wx.request({ url: 'test.php', //仅为示例,并非真实 ...

  7. 让微信小程序每次请求的时候不改变session_id的方法

    让微信小程序每次请求的时候不改变session_id的方法 每次微信小程序请求的时候都会改变session id, 还好他的请求方法内可以设置header头 所以只需要在启动程序后第一次请求服务器获得 ...

  8. 微信小程序-发起请求

    wx.request(object) wx.request发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. object参数说明: 示例代码: wx.request({ url: ...

  9. 第三篇、微信小程序-网络请求API

    wx.request(OBJECT)发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 效果图: net.js Page({ data:{ result:{} ...

随机推荐

  1. Dedecms V5.7 关于session

    在dedecmsv5.7里面使用session的话要注意开启方式!和PHP源码里的使用方式不一样!!! 开启session,前面必须要@ @session_start(); 启动session,前面必 ...

  2. 『Python CoolBook:heapq』数据结构和算法_heapq堆队列算法&容器排序

    一.heapq堆队列算法模块 本模块实现了堆队列算法,也叫作优先级队列算法.堆队列是一棵二叉树,并且拥有这样特点,它的父节点的值小于等于任何它的子节点的值. 本模块实际上实现了一系列操作容器的方法,使 ...

  3. [atcoder contest 010] F - Tree Game

    [atcoder contest 010] F - Tree Game Time limit : 2sec / Memory limit : 256MB Score : 1600 points Pro ...

  4. [Codeforces477D]Dreamoon and Binary

    Problem 给定一个字符串数的二进制表示(不含前导0)s(长度不超过5000), 对于一个数n(初值为0),可以进行以下两种操作: 1.将n的二进制表示(无前导0)写到已经写的串的后面. 2.n加 ...

  5. python编码及转换

    第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于 ...

  6. ionic1 添加百度地图插件 cordova-plugin-baidumaplocation

    cordova-plugin-baidumaplocation 这个插件返回的数据是 json 格式的  可以直接获取  android 和 ios 都可用 1.先去百度地图平台去创建应用  获取访问 ...

  7. JavaScript 注意要点

    何时加引号: 只有变量不加引号.加了引号的一定不是变量,是字符 方法:     方法一律带有小括号 js 中的作用域    全局变量: 在最外层定义的变量: 在函数体内部看是没有声明var的 也是全局 ...

  8. Java实现数据库与eclipse的连接

    JavaBean:用于传递数据,拥有与数据相关的逻辑处理 JSP:从Model接收数据并生成HTML Servlet:接收HTTP请求并控制Model和View jdbc:用于驱动连接 一.[建立数据 ...

  9. laravel 创建自动化生成数据库

    1.   生成 迁移脚本 php artisan make:migration create_users_table --create=users(表名) 当你⽣成⼀个模型时想要顺便⽣成⼀个 数据库迁 ...

  10. L2-013. 红色警报(并查集)*

    L2-013. 红色警报 参考博客 #include <cstdio> #include <algorithm> #include <iostream> #incl ...