介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,默认一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客户端申请的是哪张证书。 但是让人万万没有想到的是,虚拟主机大力发展起来了,这就造成了一个IP会对应多个域名的情况。解决办法有一些,例如申请泛域名证书,
转载
2024-10-11 19:08:46
104阅读
主要是基于anadeeppolavarapu/nginx-http3:edge docker 镜像,使用比较简单 环境准备 docker-compose 文件 version: "3" services: httpservice: image: ranadeeppolavarapu/nginx-ht
原创
2021-07-18 17:52:33
453阅读
实际上nginx 官方docker 镜像已经包含了njs 模块了 参考使用 环境准备 version: "3" services: api: image: nginx:1.20.2 volumes: - "./nginx.conf:/etc/nginx/nginx.conf" - "./js:/op
原创
2021-12-07 13:49:42
514阅读
一、原理 nginx的锁是基于共享内存实现的,这点跟redis中利用一个存储(也就是一个键值对)来实现锁的原理是一致的,每一项操作通过检查锁对象的lock域是否为0,来判断能否获取锁并尝试获取锁。 二、锁的类定义1. 类定义1 //锁的定义
2 typedef struct {
3 #if (NGX_HAVE_ATOMIC_OPS)
4 ngx_atomic_
转载
2024-04-01 08:50:56
83阅读
一、知其然开发一个Nginx模块,将自己的HTTP模块编译进Nginx三步走:1.编写实际开发的xxx.c文件2.编写的xxx.c文件目录下编写shell脚本的config文件,开发一个HTTP模块,config文件中必要的3个变量如下:ngx_addon_name:模块名称,只在configure执行时使用HTTP_MODULES:保存所有的HTTP模块名称,变量的赋值定义方式--->va
主要是将今天说到的工具做一个使用说明 场景 直接复用npm 的hashids 生成一个id,同时基于rollup 构建,对于缺少js 特性支持的基于core-js 进行polyfill 参考代码 fix hashids 问题 因为原始hahsids 是基于了set ,但是对于set支持有点问题,所以
转载
2022-08-18 16:48:33
71阅读
最近nginx njs 模块发布了0.77 版本了有一些新特性 新特性 nginx 模块 njs 对于 http 以及stream 能力的扩展,js_i
原创
2022-09-11 00:22:27
176阅读
从封装 Nginx NJS 工具镜像聊起最近发现有不少需求可以通过 Nginx JavaScript (NJS)来完成,相比较运行一套完整的 Web 服务来说,轻量高效的方案总是惹人喜爱,更何况这套方案是由 Nginx 官方团队推出,并搭上了繁荣的 JavaScript 生态。本篇文章先从 NJS 容器封装、以及容器镜像优化来聊聊。写在前面NJS 目前还处于相对早期的版本,截止本篇文章发布,官方最
转载
2021-01-19 18:24:19
499阅读
2评论
从封装NginxNJS工具镜像聊起最近发现有不少需求可以通过NginxJavaScript(NJS)来完成,相比较运行一套完整的Web服务来说,轻量高效的方案总是惹人喜爱,更何况这套方案是由Nginx官方团队推出,并搭上了繁荣的JavaScript生态。本篇文章先从NJS容器封装、以及容器镜像优化来聊聊。写在前面NJS目前还处于相对早期的版本,截止本篇文章发布,官方最新的版本是0.5.0,官网并没
原创
2021-02-06 22:46:31
412阅读
很多时候我们开发的njs 模块需要测试,官方实际上提供了一个njs cli 命令,可以方便的用来测试js 代码## 构建 当我们构建了njs 之后会在build 目录包含一个njs 的cli 参考使用 app.js let app = { name:"dalong", age:333 } let i
原创
2022-08-18 16:49:06
169阅读
jest 是一个很不错的js 测试框架,我们可以此方便的进行js 测试,基于testcontainer 我们可以使用容器 方便的测试,以下是一个参考使用 项目准备 项目结构 ├── README.md ├── conf │ └── nginx.conf ├── dist │ └── main.js
原创
2022-10-07 17:06:44
149阅读
nginx是一个HTTP和反向代理服务器,目前很多网站都在使用nginx作为反向代理服务器。njs是JavaScript语言的一个子集,它允许扩展nginx的功能,这点跟lua有点类似,不过采用的语言是javascript。1. 安装nginxnjs作为nginx的模块,需要编到nginx中,这里的我使用的环境是Ubuntu18.04.4。首先从http://nginx.org/en/downlo
原创
2021-01-26 20:24:24
1976阅读
使用了docker 构建,具体的参考github,已经包含了一个现成的docker镜像dalongrong/openresty-tengine:debug-njs 参考构建 ./configure --add-dynamic-module=path-to-njs/nginx 参考使用 app.js
原创
2022-05-03 12:28:51
446阅读
njs 官方是内置了typescript types 定义的,只是没有发布到npm 官方,目前有几个别人发布的 我自己也构建发布了一个 参考使用 使用typescript 开发一个内容提供服务 typescript 配置 { "include": [ "./src", ], "files": [ "
原创
2022-05-03 12:29:25
181阅读
angie njs 是一个类似lua 的模块,提供了基于js 进行nginx 功能开发的能力(但是目前没有nginx lua 模块
原创
2023-11-28 10:57:10
90阅读
# 在Android主板上搭建NJS服务
在当今的技术环境中,越来越多的开发者希望能够在Android设备上运行服务器应用。NJS(Nginx JavaScript)是一种轻量级的子集,可以让开发者在Nginx服务器上运行JavaScript代码,提供了一个快速和高效的环境来构建Web应用。在本文中,我们将讨论如何在Android主板上搭建NJS服务,并通过代码示例来帮助你上手。
## 准备工
以前大概介绍过,以下是一些参考资料其中njs-typescript-starter 是一个很不错的项目值得参考学习,同时作者提供了babel-reset-njs 解决了发部分njs 对于es 支持的问题 说明 当前njs 对于js的支持还是有不少欠缺的,所以我们还是需要一些工具解决的,比如requi
原创
2022-06-05 00:56:42
117阅读
如果体验了njs 模块的能力会发现njs 是一个很不错的js 模块,但是问题也不少,js 类型以及函数支持,同时npm模块支持也是 一个很大的问题,个人比较推荐的集成模式是基于rollup 构建 参考玩法 集成说明 因为缺少js 特性支持,我们可以基于core-js 进行扩展,对于npm 的集成我们
原创
2022-08-18 16:49:39
104阅读
nginx一直希望支持更多的脚本能力,现在js已纳入旗下。多余的不说了,直接尝鲜吧!0. 安装> cd /tmp && mkdir njs && cd njs
> wget http://nginx.org/download/nginx-1.8.0.tar.gz
> wget http://hg.nginx.org/njs/archive/tip
原创
2023-04-11 10:35:33
94阅读
而基本的网络事件,则是放在 worker 进程中来处理了。多个 worker 进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个 worker 进程中处理..
原创
2022-01-15 10:31:59
1327阅读