最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用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. 5种网络IO模型(有图,很清楚)

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出 ...

  2. 机器学习 之梯度提升树GBDT

    目录 1.基本知识点简介 2.梯度提升树GBDT算法 2.1 思路和原理 2.2 梯度代替残差建立CART回归树 1.基本知识点简介 在集成学习的Boosting提升算法中,有两大家族:第一是AdaB ...

  3. 『TensorFlow』网络操作API_中_损失函数及分类器

    一.误差值 度量两个张量或者一个张量和零之间的损失误差,这个可用于在一个回归任务或者用于正则的目的(权重衰减). l2_loss tf.nn.l2_loss(t, name=None) 解释:这个函数 ...

  4. Failed to process import candidates for configuration class [com.simple.....]

    主要原因: 是因为自己定制的starter在打包时(package)用了spring-boot-maven-plugin,即在你的定制starter工程的pom.xml中有如下配置: <buil ...

  5. 谈谈Java中的volatile(转载)

    内存可见性 留意复合类操作 解决num++操作的原子性问题 禁止指令重排序 总结 内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色.同synch ...

  6. 1-Angular学习篇

    Angular 官方学习网站:https://angular.io 1.安装node.js 在angular主页下载node.js安装包 2.创建angular工程 Windows系统在命令窗口输入: ...

  7. Unity调试模式设置辅助线是否可见

    1.新建变量 //调试的标识(状态开关) public bool m_debug = true; 2.在画线方法中写 //如果非调试状态,则不再输出网格和立方体 if (!m_debug) { ret ...

  8. AndroidStudio连不上Android设备真机

    AndroidStudio连不上Android设备真机 刚好遇到这个问题,查阅了很多资料,看到有人分享了引起该问题的几个原因,我总结了一下: 1.手机设置问题.开USB调试 方法:手机设置-开发人员调 ...

  9. PLSQL Developer连接Oracle

    1.安装PLSQL Developer Oracle数据库和PL/SQL Developer的安装步骤,这里就不做叙述了,百度安装方法的时候有说在安装PL/SQL Developer软件时,不要安装在 ...

  10. 德州扑克AI--Programming Poker AI(译)

    前言: 最近在研究德州扑克的AI, 也想由浅入深的看下, 在网上找了一圈, 发现很多文章都提到了一篇文章: Programming Poker AI. 仔细拜读了一下, 觉得非常不错. 这里作下简单的 ...