当前位置: 首页 > news >正文

网站建设信息介绍赣州58同城网

网站建设信息介绍,赣州58同城网,最新国家大事新闻,石家庄建站平台注意 mac 自带 openssl 所以没必要像 windows 一样先安装 openssl,直接生成即可 生成 ssl/自签名 证书 生成 key # 生成rsa私钥,des3算法,server_ssl.key是秘钥文件名 1024位强度 openssl genrsa -des3 -out server_ssl.key 1024让输入两…

注意

mac 自带 openssl 所以没必要像 windows 一样先安装 openssl,直接生成即可

生成 ssl/自签名 证书

生成 key

# 生成rsa私钥,des3算法,server_ssl.key是秘钥文件名 1024位强度
openssl genrsa -des3 -out server_ssl.key 1024

让输入两次密码,随便,但是两次得是一样的

移除密码

# 这里执行完上一步的密码即已经被移除了
openssl rsa -in server_ssl.key -out server_ssl.key

生成 csr

# -new 执行生成新的证书请求
# -key 指定密钥
openssl req -new -key server_ssl.key -out server_ssl.csr
  • Country Name (2 letter code) [国家]:CN

  • State or Province Name (full name) [省份]:Beijing

  • Locality Name (eg, city) [城市]:Beijing

  • Organization Name (eg, company) [组织/公司]:zgp

  • Organizational Unit Name (eg, section) [部门/单位]:zgp

  • Common Name (eg, fully qualified host name) [域名]:test.zgp.cn

  • Email Address [邮箱]:demo@outlook.com

  • Please enter the following ‘extra’ attributes
    to be sent with your certificate request
    A challenge password [上一步已经移除,直接回车即可]:

生成证书

# x509 根据现有的证书请求生成自签名根证书
# -days 设置证书的有效天数
# -in 指定输入证书请求文件
openssl x509 -req -days 365 -in server_ssl.csr -signkey server_ssl.key -out server_ssl.crt

执行过程截图

在这里插入图片描述

创建 nodejs 的 https/wss 服务

创建 express 项目就不多说了,自行查看:nodejs+express自动生成项目
express 文档地址https://www.expressjs.com.cn/starter/generator.html

修改的 bin/www 文件

#!/usr/bin/env node/*** Module dependencies.*/var app = require('../app');
var debug = require('debug')('express-io:server');
const fs = require('fs');
const path = require('path');
// var http = require('http');
var https = require('https');
// 引入 socket.io
const { Server } = require('socket.io')
/*** Get port from environment and store in Express.*/var port = normalizePort(process.env.PORT || '3001');
app.set('port', port);/*** Create HTTPS server.* 加上 ssl 证书*/
const httpsOption = {key: fs.readFileSync(path.resolve(__dirname, "../certificate/server_ssl.key")),cert: fs.readFileSync(path.resolve(__dirname, "../certificate/server_ssl.crt"))
}
var server = https.createServer(httpsOption, app);
// 创建 websocket 服务器代码
const io = new Server(server, {cors: {origin: "*"}});// 客户端连接成功会输出连接 id 以及 客户端传惨 queryio.on('connection', (socket)=>{console.log(socket.id)console.log(socket.handshake.query)})
/*** Listen on provided port, on all network interfaces.*/server.listen(port, () => {console.log(`server listening on port: ${port}`)
});
server.on('error', onError);
server.on('listening', onListening);/*** Normalize a port into a number, string, or false.*/function normalizePort(val) {var port = parseInt(val, 10);if (isNaN(port)) {// named pipereturn val;}if (port >= 0) {// port numberreturn port;}return false;
}/*** Event listener for HTTP server "error" event.*/function onError(error) {if (error.syscall !== 'listen') {throw error;}var bind = typeof port === 'string'? 'Pipe ' + port: 'Port ' + port;// handle specific listen errors with friendly messagesswitch (error.code) {case 'EACCES':console.error(bind + ' requires elevated privileges');process.exit(1);break;case 'EADDRINUSE':console.error(bind + ' is already in use');process.exit(1);break;default:throw error;}
}/*** Event listener for HTTP server "listening" event.*/function onListening() {var addr = server.address();var bind = typeof addr === 'string'? 'pipe ' + addr: 'port ' + addr.port;debug('Listening on ' + bind);
}

创建个客户端测试

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.socket.io/4.4.1/socket.io.min.js" integrity="sha384-fKnu0iswBIqkjxrhQCTZ7qlLHOFEgNkRmK2vaO/LbTZSXdJfAu6ewRBdwHPhBo/H" crossorigin="anonymous"></script><title>Document</title>
</head>
<body><script>(()=>{const socket = io('wss://localhost:3001', {autoConnect: false,query: {openid: 'sajfklsadjflkdsa'}})socket.connect()socket.on("connect", ()=>{console.log(socket.id)})socket.io.on('close', ()=>{console.log('close');})})()</script>
</body>
</html>

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/224052/

相关文章:

  • 事业单位备案网站seo 的原理和作用
  • 枣庄高端品牌网站建设案例定制网站哪家好
  • 降权查询网站郑州网站优化顾问
  • 网站结构模板北京专业做网站设计公司
  • 聊城网站建设网站建设吴江
  • 全屏网站模版汽车网站制作模板
  • 广州本地门户网站注册城乡规划师
  • 广东省高校质量工程建设网站北京天仪建设工程质量检测所网站6
  • 电商网站开发用什么软件好合肥建设监理协会网站
  • 新注册网站专业生产车间设计图纸网站
  • 做网站公司不给源代码软件工程考研学校推荐
  • 深圳创建网站网络营销的优势
  • 广告公司网站(附falsh及源代码)企业平台网
  • 视频网站建设的背景简介长岛网站建设费用
  • 厦门网站建设建设公司淘宝网络营销案例分析
  • 做pc端网站渠道青岛网页设计哪个公司好
  • 做推广网站那里好周村网站制作哪家好
  • asp.net mvc5网站开发只有一个域名怎么做网站
  • 烟台市牟平区建设局网站手机版商城网站都有哪 些功能
  • 什么是搜索引擎推广苏州关键词seo排名
  • 中外商贸网站建设想学网络运营怎么开始
  • 菲律宾 网站开发公司易语言做网站客户端
  • 网站运营一个月多少钱兰溪网站建设
  • 手机网站 制作计算机网络设计实验报告
  • 怎么判断一个网站做的好不好临沂网站建设对实体企业
  • 内部网站建设要求马可波罗网
  • android开发基础西安seo外包行者seo06
  • seo网站建设技巧设计公司网站要包含什么信息
  • 深圳住房和城乡建设局网站余杭区建设局网站
  • 简述如何优化网站的方法网络架构的设计依据是什么