最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用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. idea启动springboot项目 报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;

    有一次启动springboot项目的时候,报了一个非常奇怪的错误,说是找不到servletContext,springboot不是自带tomcat的吗? 在网上找了好久,说是用以下方式解决. 解决方式 ...

  2. Python 小节回顾

    1.python程序是大小写敏感. 2.python中字符串是用单引号 ' 或双引号 " 括起来的任意文本. python中用 r '  ' 表示 ' ' 内部的字符串不转义. 3.在pyt ...

  3. 『Python』源码解析_源码文件介绍

    本篇代码针对2.X版本,与3.X版本细节不尽相同,由于两者架构差别不大加之本人能力有限,所以就使用2.X体验python的底层原理了. 一.主要文件夹内容 Include :该目录下包含了Python ...

  4. 【C/C++】小坑们

    1.printf("%03d", a); // 输出 a,占 3 位,不够则左边用 0 填充 2.memcpy 所在头文件为 <string.h> 3.string s ...

  5. static_assert enable_if 模板编译期检查

    conceptC++ http://www.generic-programming.org/faq/?category=conceptcxx Checking Concept Without Conc ...

  6. PDF 补丁丁 0.6.0.3282 版发布(修复内存漏洞)

    补丁丁的新测试版修复了旧版在导出图片.分析文件结构时的内存漏洞. 对于希望表达对本软件感情的用户,可点击“帮助”菜单的“关于本程序及作者”命令,用微信扫描里面的二维码表达您的谢意. 新的测试版正在制作 ...

  7. 序列化模块— json模块,pickle模块,shelve模块

    json模块 pickle模块 shelve模块 序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. # 序列化模块 # 数据类型转化成字符串的过程就是序列化 # 为了方便存储和网 ...

  8. asp.net ajax控件选项卡控件的选项卡的动态显示与隐藏问题

    if (dq_gly.Yhm != "admin") { this.TabContainer1.Tabs[0].Visible = false; this.TabContainer ...

  9. 谈谈我对Linux系统学习的历程回顾

    ​​众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...

  10. Linux下安装Julia1.0.0

    MIT正式发布编程语言Julia 1.0:Python.R.C++三合一! 由于官方文档提示中安装的不是最新的Julia版本,官方的0.7版本安装方法为:                       ...