近来被https搞晕了,由于需要微信小程序必须用到https协议,安全性比较重要喔!不过对于我们这个嵌入式产品也没什么安不安全。一开始qt http服务器还是好简单,因为就是TCP连接上面一个简单协议。后来听说发布小程序必须用到https+域名,估计好多刚开始往小程序里跑的小伙子都哭晕在测所。不过我不负责写小程序,我负责搞用qt 写个http的服务器。所以有后来的艰难例程!—! (你要知道我不懂网络和前端的玩意都是嘛0101那些)

入正题,环境:

qt4+qtcreator+win10

window 2012R2 service

先写好http服务器,网上好多例程,其实qt上面编程不用管https的什么ssl 那些证书什么之类,那是好麻烦等下再说我的遭遇!由于是放在云服务器上面的,所以有固定的IP,你想要https访问必须有域名+申请SSL证书密钥,这个和编程没关系去申请就可以了。这个过程需要时间,证书是包含xxxxx.crt证书和xxxxx.key文件,如下:

顶级文件夹,里面好几个服务器的证书和密钥

我们是需要Nginx这个,你可先百度Nginx什么来的。。

这里下载一个代理服务器Nginx

http://nginx.org/en/download.html

选择Window就可以了,然后放到某路径下这个是不能删的,然后解压。这个玩意一开始被网上好多人说的误导了,搞得安装特别麻烦特别麻烦特别麻烦!!!例如说什么要利用命令行安装,还有用WINSW这个也试过了,安装是成功了但是有点麻烦。Winsw就是一个可以直接命令行操作对你要想操作而它本身不能在命令行操作的nginx等无界面软件。。所以现在不用他们,直接找到nginx.exe目录下的conf/nginx.conf的配置文件,用txt打开,写入一个service https,其实里面有一个不过被注释掉了。写其实就关注几点,我的例子如下:

#HTTPS server
    server {
        listen       443 ssl;  #这个不用改必须443默认
        server_name  www.xxxx.cn; #这个你要改,外网要访问过来的域名,也就是自己的域名
        ssl on;
        ssl_certificate      C:/Https_Certificate/xxxxxxx.crt;#证书路径
        ssl_certificate_key  C:/Https_Certificate/xxxxxxx.key;#密钥路径
        #ssl_session_cache    shared:SSL:1m;
        #ssl_session_timeout  5m;
        #ssl_ciphers  HIGH:!aNULL:!MD5;
        #ssl_prefer_server_ciphers  on;
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
    location / {
        proxy_pass      http://localhost:8090/;#我的软件端口是8090
   proxy_connect_timeout 1s; #配置点1
        proxy_read_timeout 60s; #配置点2,如果没效,可以考虑这个时间配置长一点
        proxy_send_timeout 12s; #配置点3
    }
    }

重要就是证书密钥,域名,本地软件端口。

然后直接双击上一级的目录里面的nginx.exe,然后会一闪而过,惨了!!!!这个又不行?我当时是这样!然后怎么大神请教后原来已经运行了。你在命令行里输入tasklist查看进程,发现了nginx

好了,着就行了打开你用qt写的http服务器就可以了,nginx其实就是将https握手加密的过程解决了转发数据给你,相当于透传了http。是不是好简单!!!!其中如果配置文件写的不对,重新修改先把nginx关闭,改完再双击启动!关掉可以用tskill nginx命令。。。

好了讲下我的遭遇吧,一开始听说要用ssl,于是要研究了QSslsocket那些玩意,下载了openssl回来生成自签名证书加入到服务器上面还是不行,各种不行。。这过程写了https服务器和客户端来验证,几天写来无果,客户端https外网访问没问题。就是证书加进来老是握手失败。

好了终于解决今天可以睡个好觉了。另外赞下这个nginx真的不错简单代理,他的功能还多着呢!嘻嘻 这种架构方案也不错!感谢qq好友大神1527979930热心指导谢了。。。

Qt Http服务器简单变成https服务器相关推荐

  1. Qt:基于Qt开发的轻量级HTTP/HTTPS服务器

    介绍 JQHttpServer是基于Qt开发的轻量级HTTP/HTTPS服务器,目前支持GET和POST两个协议. 底层有QTcpSocket.QSslSocket和QLocalSocket三个版本, ...

  2. spark在服务器运行示例_创建示例HTTPS服务器以获取乐趣和收益

    spark在服务器运行示例 通常,在开发或/和针对真实场景进行测试期间,我们(开发人员)面临着运行成熟的HTTPS服务器的需求,可能同时进行一些模拟. 在JVM平台上,除非您知道适合此工作的正确工具, ...

  3. 创建示例HTTPS服务器以获取乐趣和收益

    通常,在开发人员或/和针对实际场景进行测试期间,我们(开发人员)面临着运行成熟的HTTPS服务器的需求,可能同时进行一些模拟. 在JVM平台上,除非您知道适合此工作的正确工具,否则它过去并不是一件容易 ...

  4. 简单入侵ftp服务器

    C语言在QT下编写简单入侵ftp服务器程序 AttackServer.pro #------------------------------------------------- # # Projec ...

  5. Nodejs创建https服务器(Windows 7)

    为了实验一下WebRTC,搭了个简单的https服务器.说说步骤: 生成OpenSSL证书 使用Nodejs的https模块建立服务器 OpenSSL 证书 我机子Windows 7,安装了Cygwi ...

  6. NGINX SSL配置之设置HTTPS服务器

    NGINX SSL配置 本节介绍如何在NGINX和NGINX Plus上配置HTTPS服务器. 设置HTTPS服务器 要设置HTTPS服务器,请在您的nginx.conf文件中的块中ssl将该list ...

  7. Qt文档阅读笔记-QTcpServer官方解析与实例(使用QSocket创建简单的HTTP服务器)

    目录 官方解析 博主例子(做一个简单的HTTP服务器) 本例子中HTTP协议关键点 官方解析 QTcpServer类,提供TCP服务的基础: 这个类接受TCP连接,可以指定一个端口,也可以让其自动一个 ...

  8. 简单http和https服务器python脚本

    欢迎加入python学习交流群 667279387 工作经常要用到测试http和https协议,这里写了两个简单的脚本实现简单的http服务器和https服务器. http服务器代码 import s ...

  9. 利用python实现简单的http和https服务器

    http服务器代码: #!/usr/bin/python3 #python version 3.7 import sys from http import server from http.serve ...

最新文章

  1. Linux环境编程--fflush(stdout)有什么作用
  2. ISA2006英文版实验手册下载
  3. moel vue 自定义v_vue如何在自定义组件中使用v-model
  4. Spring Boot读取peoperties配置及@Value和@ConfigurationProperties区别和联系
  5. windows 批处理自学教程 基础篇
  6. 基于ZYNQ FPGA实现8路ADC数据采集存储(AD7606)
  7. 网络短视频内容审核趋严!短视频不得未经授权剪辑影视剧
  8. c语言qsort函数源码,qsort源代码分析
  9. debian6 snmpd 安装配置
  10. ATX电源的工作原理
  11. 相机的介绍--新手入门级介绍
  12. aso优化应用市场推广方案到底怎么写
  13. 西瓜书读书笔记(一)
  14. 第四章——数据库安全性
  15. kail linux双系统win7,一步一步教你在Win7环境下安装Win7和Kali双系统
  16. 《编程之美》一书八位作者,讲述自己的编程之路
  17. SQL 初始篇 软件开发周期 与数据库设计步骤
  18. UI设计这个专业现在如何,未来就业前景都有哪些不错的选择
  19. RemObjects(一)客户端远程调用服务端接口过程
  20. 华为欧拉linux 系统下载

热门文章

  1. CLM、CESM错误篇:ERROR: Need to provide valid mapping file between glc and lnd in xml variable ......
  2. 大数据时代,你还为数据单位,而困惑么? 计算机存储单位:Byte、KB、MB、GB、TB、PB、EB分别叫什么?他们的进率是多少?
  3. win10下载安装eclipse手把手教程,适合新手小白
  4. Neutron架构理解
  5. CSS八种方式实现等高布局
  6. 支付宝、微信外部扫码进入小程序及传参
  7. Spring5之maven依赖
  8. 树莓派4B 64位系统 安装python3.7+tensorflow 2.3.1
  9. 游戏交流社区BBS论坛APP客户端和网页服务端设计 毕业论文+前后端源码及数据库文件
  10. 小程序视频自定义进度条