Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >hengine-docker:Web全家桶

hengine-docker:Web全家桶

作者头像
Homqyy
发布于 2024-08-23 12:07:35
发布于 2024-08-23 12:07:35
10010
代码可运行
举报
文章被收录于专栏:知行合一知行合一
运行总次数:0
代码可运行

hengine-docker:Web全家桶

版本说明

3.2(latest)

  • 参考:hengine-docker
  • 特性:无
  • Bug 列表:
    • stream无法使用配置模板功能

3.1

  • 特性:
    • 支持用NGX_HTTP_WEB 控制是否激活基础的HTTP服务,默认值为on
  • Bug 列表:
    • entrypoint.sh语法错误
    • 缺少模块ngx_http_sub_modulengx_http_proxy_connect_module

3.0

  • Bug 列表:
    • NGX_HTTP_SNI 设置 off 会报错(latest已解决)

2.0(弃用)

  • 启用选项:--with-stream_sni
  • 支持协议转换:tcpudpudp+kcp三者间的任意转换
  • 支持 KCP 代理
  • 解决Bug:
    • PROXY CONNECT的时候,realm的值是错误的

1.0(弃用)

  • 支持 PROXY CONNECT 使用 Basic 认证

介绍

homqyy/hengine是一个web全家桶镜像,将Nginx、国密、Lua合为一体,方便满足各种业务需求;同时支持环境变量配置,可用于快速部署Web服务;并且支持配置模板,增加扩展性,方便懂Nginx的人去配置自己的服务。

它支持以下特性:

  • 国密
  • Lua
  • 环境变量
  • 配置模板

开发

  1. 获取代码:git clone https://github.com/Homqyy/hengine-docker
  2. 获取子模块:git submodule update --init --recursive

使用

Web服务器是常见的需求,因此此镜像默认支持了Web服务器,只需要通过环境变量去控制即可。当然对于高级用户,可能想要定义自己的Web服务器,因此也支持通过NGX_HTTP_WEB环境变量去控制是否激活基础的Web服务器:

  • NGX_HTTP_WEB :是否激活基础的Web服务器,默认值为on;如果设置为off,则不会激活基础的Web服务器,这时候下文中提到的HTTP和HTTPS相关的环境变量都不会生效。

部署 HTTP服务器¶

假设要部署 80 的web服务器,那么只需要在你的docker-compose.yml中写入以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.8'

services:
  web:
    image: homqyy/hengine
    ports:
      - '80:80/tcp'
    environment:
      NGX_HTTP_LISTEN: '80'

NGX_HTTP_LISTEN用来定义服务器监听的端口,ports则指定主机与容器的映射关系,这里将主机的80端口映射到了我们监听的80端口上,如果你希望主机用别的端口,只需要修改映射值即可,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ports:
    - '8080:80/tcp'

部署 HTTPS服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.8'

services:
  web:
    image: homqyy/hengine
    ports:
      - '443:443/tcp'
    environment:
      NGX_HTTP_LISTEN: '443 ssl'
      NGX_HTTP_SSL_CERT: certs/https.dev.example.com/rsa/chain.pem
      NGX_HTTP_SSL_KEY: certs/https.dev.example.com/rsa/privkey.pem
    volumes:
      - '${G_BASE_DIR}/certs:/usr/local/hengine/conf/certs:ro'

上述用NGX_HTTP_LISTEN指定监听的端口为443,同时表明了监听的端口协议为ssl。并且设置了证书和密钥:

  • NGX_HTTP_SSL_CERT:指定证书的路径,支持非国密证书。这里的路径指的是在容器中的路径,因此证书应当通过bind挂载到容器中。支持绝对路径和相对路径,如果使用相对路径的话,那么它是相对于/usr/local/hengine/conf的,因此要实现上述的配置效果,则需要挂chain.pem/usr/local/hengine/conf/certs/https.dev.example.com/rsa/chain.pem
  • NGX_HTTP_SSL_KEY:指定密钥的路径,支持非国密证书。这里的路径与NGX_HTTP_SSL_CERT一样。

示例中用{G_BASE_DIR}的值,这样对于未来移植docker-compose.yml会更方便。

上面只是部署一个HTTPS服务器的最基本参数,我们实际使用中还会涉及到一些高级需求,比如:

启用SNI验证:添加环境变量NGX_HTTP_SNI: 去启用该功能,该功能应该跟NGX_HTTP_SERVER_NAME配合使用

设置虚拟服务名称:添加环境变量NGX_HTTP_SERVER_NAME 去设置虚拟服务名称,通常是设置成域名,主要用途是 “虚拟服务”和“SNI”,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NGX_HTTP_SNI: on
NGX_HTTP_SERVER_NAME: https.dev.example.com
  • 上述打开了SNI并且配置了虚拟服务名称,如果客户端SNI没有携带 https.dev.example.com 的话会连接会被拒接。

认证客户端:支持以下环境变量

NGX_HTTP_SSL_VERIFY_CLIENT

  • on:打开认证功能;客户端必须发送客户端证书,并且验证通过;
  • off:关闭认证功能,默认是off
  • optional:客户端可发送也可不发送证书,但是如果发送的话就必须验证通过;
  • optional_no_ca:客户端可发送也可不发送,如果发送了也可以不验证通过。

NGX_HTTP_SSL_VERIFY_DEPTH: :设置核实证书链的最大有效深度,比如深度为3的话:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NGX_HTTP_SSL_VERIFY_DEPTH: 3

NGX_HTTP_SSL_CA :设置CA证书,路径解释与NGX_HTTP_SSL_CERT一致。比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NGX_HTTP_SSL_CA: certs/ca/ca-all.pem.crt

设置加密套件:添加环境变量NGX_HTTP_SSL_CIPHERS: ,该套件的语法为OPENSSL的语法,详情可参考:openssl-1.1.1_ciphers,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NGX_HTTP_SSL_CIPHERS: ALL

部署 国密服务器¶

国密服务器也属于HTTPS,区别在于是否支持国密套件,差别就是以下环境变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NGX_HTTP_NTLS: on
NGX_HTTP_SSL_SIGN_CERT: certs/gm.dev.homqyy.cn/gm/chain.pem
NGX_HTTP_SSL_SIGN_KEY: certs/gm.dev.homqyy.cn/gm/privkey.pem
NGX_HTTP_SSL_ENC_CERT: certs/gm.dev.homqyy.cn/gm/enc-chain.pem
NGX_HTTP_SSL_ENC_KEY: certs/gm.dev.homqyy.cn/gm/enc-privkey.pem
  • NGX_HTTP_NTLS :是否启用国密功能,on为启用,off为禁用,默认是off
  • NGX_HTTP_SSL_SIGN_CERT: 设置签名证书,路径的解释与NGX_HTTP_SSL_CERT一致;
  • NGX_HTTP_SSL_SIGN_KEY: 设置签名密钥,路径的解释与NGX_HTTP_SSL_CERT一致;
  • NGX_HTTP_SSL_ENC_CERT: 设置加密证书,路径的解释与NGX_HTTP_SSL_CERT一致;
  • NGX_HTTP_SSL_ENC_KEY: 设置加密密钥,路径的解释与NGX_HTTP_SSL_CERT一致;

配置大致如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.8'

services:
  web:
    image: homqyy/hengine
    ports:
      - '443:443/tcp'
    environment:
      NGX_LOG_LEVEL: info
      NGX_HTTP_LISTEN: '443 ssl'
      NGX_HTTP_SNI: on
      NGX_HTTP_SERVER_NAME: gm.dev.example.com
      NGX_HTTP_NTLS: on
      NGX_HTTP_SSL_SIGN_CERT: certs/gm.dev.homqyy.cn/gm/chain.pem
      NGX_HTTP_SSL_SIGN_KEY: certs/gm.dev.homqyy.cn/gm/privkey.pem
      NGX_HTTP_SSL_ENC_CERT: certs/gm.dev.homqyy.cn/gm/enc-chain.pem
      NGX_HTTP_SSL_ENC_KEY: certs/gm.dev.homqyy.cn/gm/enc-privkey.pem
      NGX_HTTP_SSL_CIPHERS: ECC-SM2-SM4-CBC-SM3:ECDHE-SM2-SM4-CBC-SM3;
      NGX_HTTP_SSL_VERIFY_CLIENT: on
      NGX_HTTP_SSL_VERIFY_DEPTH: 3
      NGX_HTTP_SSL_CA: certs/ca/ca-all.pem.crt
    volumes:
      - '${G_BASE_DIR}/web/certs/:${G_NGX_CONF}/certs/:ro'

当然,上述只开启了国密,其实国密跟标准的密码是可以共同使用的,只需要把NGX_HTTP_SSL_CERTNGX_HTTP_SSL_KEY也设置上即可。

调试/日志

设置日志级别:NGX_LOG_LEVEL ,默认是 error,可以根据需要自己调整级别

查看日志:直接查看docker的输出即可

如果出现了因为位置导致 hengine 容器运行不起来,可以通过以下方法进行调试:

entrypoint改为/sbin/init

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.8'

services:
  web:
    image: homqyy/hengine
    entrypoint: /sbin/init
    ...

运行容器

Attach(docker exec)到容器中

手动运行 entrypoint.sh,然后根据报错信息去调整自己的配置

全配置概览

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.8'

services:
  web:
    image: homqyy/hengine
    ports:
      - '443:443/tcp'
    environment:
      NGX_LOG_LEVEL: info
      NGX_HTTP_WEB: on
      NGX_HTTP_LISTEN: '443 ssl'
      NGX_HTTP_SNI: on
      NGX_HTTP_SERVER_NAME: gm.dev.example.com
      NGX_HTTP_NTLS: on
      NGX_HTTP_SSL_SIGN_CERT: certs/gm.dev.homqyy.cn/gm/chain.pem
      NGX_HTTP_SSL_SIGN_KEY: certs/gm.dev.homqyy.cn/gm/privkey.pem
      NGX_HTTP_SSL_ENC_CERT: certs/gm.dev.homqyy.cn/gm/enc-chain.pem
      NGX_HTTP_SSL_ENC_KEY: certs/gm.dev.homqyy.cn/gm/enc-privkey.pem
      NGX_HTTP_SSL_CERT: certs/gm.dev.homqyy.cn/rsa/chain.pem
      NGX_HTTP_SSL_KEY: certs/gm.dev.homqyy.cn/rsa/privkey.pem
      NGX_HTTP_SSL_CIPHERS: ECC-SM2-SM4-CBC-SM3:AES256-SHA
      NGX_HTTP_SSL_VERIFY_CLIENT: off
      NGX_HTTP_SSL_VERIFY_DEPTH: 3
      NGX_HTTP_SSL_CA: certs/ca/ca-all.pem.crt
    volumes:
      - '${G_BASE_DIR}/web/certs/:${G_NGX_CONF}/certs/:ro'

模板配置

模板配置是该镜像的一个特色,它可以方便懂Nginx的人去配置自己的服务,同时还原生支持了以NGX_为前缀环境变量,接下来我们对上述两点进行解释。

HTTP模板配置

在该镜像中,指定http{}下的配置被放置在/usr/local/hengine/conf/http.conf.d/目录中,只要是放置在该目录中并且以.conf结尾的配置文件都会被当成http {}下的配置去解析,因此我们如下做:

在主机上创建自己的server配置文件,路径为/home/admin/my_server.conf

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 8080;

    location / {
        root html;
        index index.html index.htm;
    }
}

挂载到容器中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
services:
  web:
    image: homqyy/hengine
    ...
    volumes:
      - '/home/admin/my_server.conf:/usr/local/hengine/conf/http.conf.d/my_server.conf:ro'

运行容器:会发现自己的配置将被解析

用客户端访问 8080 端口

但是这怎么能称为模板呢?那就要跟环境变量结合了,也就是大家可以在配置文件中去使用环境变量,并把它作为模板,然后像前面部署HTTP服务器一样通过环境变量控制结果,比如:

在主机上创建自己的server模板配置文件,路径为/home/admin/my_server.conf.temp:这里 必须 .temp 结尾,因为只有这样才会被当成模板配置文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen ${NGX_MY_LISTEN};

    location / {
        root html;
        index index.html index.htm;
    }
}

挂载到容器中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
services:
  web:
    image: homqyy/hengine
    ...
    environment:
      NGX_MY_LISTEN: 9090
    volumes:
      - '/home/admin/my_server.conf.temp:/usr/local/hengine/conf/http.conf.d/my_server.conf.temp:ro'

运行容器:会发现自己的配置将被解析

用客户端访问 9090 端口

Stream模板配置

Stream配置模板同理,区别在于它的路径为/usr/local/hengine/conf/stream.conf.d/

加密套件列表

支持的加密套件列表如下(来自命令tongsuo ciphers -v ALL | cut -d ' ' -f1):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
TLS_SM4_GCM_SM3
TLS_SM4_CCM_SM3
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
DHE-RSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
DHE-RSA-AES256-CCM8
DHE-RSA-AES256-CCM
ADH-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
DHE-RSA-AES128-CCM8
DHE-RSA-AES128-CCM
ADH-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
ADH-AES256-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
ADH-AES128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
AECDH-AES256-SHA
ADH-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
AECDH-AES128-SHA
ADH-AES128-SHA
RSA-PSK-AES256-GCM-SHA384
DHE-PSK-AES256-GCM-SHA384
RSA-PSK-CHACHA20-POLY1305
DHE-PSK-CHACHA20-POLY1305
ECDHE-PSK-CHACHA20-POLY1305
DHE-PSK-AES256-CCM8
DHE-PSK-AES256-CCM
AES256-GCM-SHA384
AES256-CCM8
AES256-CCM
PSK-AES256-GCM-SHA384
PSK-CHACHA20-POLY1305
PSK-AES256-CCM8
PSK-AES256-CCM
RSA-PSK-AES128-GCM-SHA256
DHE-PSK-AES128-GCM-SHA256
DHE-PSK-AES128-CCM8
DHE-PSK-AES128-CCM
AES128-GCM-SHA256
AES128-CCM8
AES128-CCM
PSK-AES128-GCM-SHA256
PSK-AES128-CCM8
PSK-AES128-CCM
ECC-SM2-SM4-GCM-SM3
ECDHE-SM2-SM4-GCM-SM3
RSA-SM4-GCM-SHA256
RSA-SM4-GCM-SM3
AES256-SHA256
AES128-SHA256
ECDHE-PSK-AES256-CBC-SHA384
ECDHE-PSK-AES256-CBC-SHA
SRP-DSS-AES-256-CBC-SHA
SRP-RSA-AES-256-CBC-SHA
SRP-AES-256-CBC-SHA
RSA-PSK-AES256-CBC-SHA384
DHE-PSK-AES256-CBC-SHA384
RSA-PSK-AES256-CBC-SHA
DHE-PSK-AES256-CBC-SHA
AES256-SHA
PSK-AES256-CBC-SHA384
PSK-AES256-CBC-SHA
ECDHE-PSK-AES128-CBC-SHA256
ECDHE-PSK-AES128-CBC-SHA
SRP-DSS-AES-128-CBC-SHA
SRP-RSA-AES-128-CBC-SHA
SRP-AES-128-CBC-SHA
RSA-PSK-AES128-CBC-SHA256
DHE-PSK-AES128-CBC-SHA256
RSA-PSK-AES128-CBC-SHA
DHE-PSK-AES128-CBC-SHA
ECC-SM2-SM4-CBC-SM3
ECDHE-SM2-SM4-CBC-SM3
AES128-SHA
RSA-SM4-CBC-SHA256
RSA-SM4-CBC-SM3
PSK-AES128-CBC-SHA256
PSK-AES128-CBC-SHA
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
可以,大佬,互粉一下
可以,大佬,互粉一下
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
CentOS7中Nginx免费开启https
名词解释 HTTPS(超文本传输安全协议)是一种互联网通信协议,可保护用户计算机与网站之间传输的数据的完整性和机密性。用户在访问网站时都希望获得安全私密的在线体验。 Lets Encrypt 是由 Internet Security Research Group (ISRG) 开发的免费开放的证书颁发机构。Lets Encrypt 颁发的证书如今几乎得到所有浏览器的信任。 前提条件 你有一个指向你的公共服务器 IP 的域名。在本教程中,我们将使用rumenz.com. 你已经安装 Nginx 安装Certb
玖柒的小窝
2021/10/21
6980
CentOS7中Nginx免费开启https
使用Let's Encrypt的SSL证书配置HTTPS手记
前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Google封杀了。曾经对于普通用户,权威,安全,并且免费的证书无疑就像天上的星星,可望而不可及。现在,这些星星变成了馅饼掉了下来。没错,我们可以申请安全免费的ssl证书--- Let's Encrypt。 Let’s Encrypt是电子前哨基金会(EFF)发布的免费 SSL 证书服务,Google,Mozilla和Microsoft都极力支持。很早之前就
李海彬
2018/03/19
2.6K0
使用Let's Encrypt的SSL证书配置HTTPS手记
在 Ubuntu 18.04 上使用 Let’s Encrypt 来保护 Nginx
Let's Encrypt 是由 Internet Security Research Group(ISRG)开发的免费开放证书颁发机构。 今天几乎所有浏览器都信任 Let's Encrypt 颁发的证书。
星哥玩云
2022/07/28
8650
nginx下配置高性能,高安全性的https TLS服务
并附送一个优化出来的openssl编译脚本,可以编译出一个高性能,高安全性的openssl库,您可以直接复制粘贴使用。
byronhe
2021/06/25
1.4K0
手把手教你免费申请支持通配符的 SSL 证书
得益于 Google 等大厂的消灭 HTTP 运动和 Let’s Encrypt 非盈利组织的努力,越来越多的站点开始迁移到 HTTPS,下图是 Let’s Encrypt 的统计数据。
iMike
2019/07/30
7K0
在CentOS Linux 7.5上使用Let’s Encrypt以保护Nginx
Let's Encrypt是由互联网安全研究组(ISRG)开发的免费开放认证机构。 Let's Encrypt颁发的证书现在几乎所有浏览器都信任。
星哥玩云
2022/07/13
1.9K0
在CentOS Linux 7.5上使用Let’s Encrypt以保护Nginx
在Ubuntu 18.04上使用Let’s Encrypt保护Nginx
Let's Encrypt是由互联网安全研究组(ISRG)开发的免费开放认证机构。 Let's Encrypt颁发的证书现在几乎所有浏览器都信任。
星哥玩云
2022/07/13
1.4K0
在Ubuntu 18.04上使用Let’s Encrypt保护Nginx
Linux 下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
网站转成https是大势所趋。但是在国内,推进的过程显然要比国外慢很多。现阶段如果将自己的网站改成https以后,会碰到这样的尴尬现象:如果在页面上引用了http://的链接或者图片,用户在浏览器上会看到类似该网站是非安全网站的警告,对于网站运营者来说可以说非常冤。由于很多链接是第三方的,没有办法去控制。
星哥玩云
2022/07/14
3.4K0
Linux  下 Nginx 安装部署 Let’s Encrypt 证书实现 HTTPS
如何在 CentOS 8 上使用 Let's Encrypt 保护 Nginx
Let’s Encrypt 是一个免费的,自动的,开源证书供应商,它由 Internet Security Research Group (ISRG)开发。
雪梦科技
2020/05/11
2.2K0
如何在 CentOS 8 上使用 Let's Encrypt 保护 Nginx
HTTPS安全优化配置最佳实践指南简述
描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安全部署的情况下通常是不容易。
全栈工程师修炼指南
2022/09/29
2.9K0
HTTPS安全优化配置最佳实践指南简述
OpenSSL安全套接字密码库命令
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序,OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的;
全栈工程师修炼指南
2022/09/29
1.1K0
SSL/TLS CipherSuite 介绍
本文是关于SSL/TLS的 CipherSuite 的信息摘录,翻译。如有疑问,欢迎指出。
byronhe
2021/06/25
7.1K0
Webman:您的专属HTTP代理服务器,让网络浏览更加畅快!
webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。
Tinywan
2023/10/16
8090
Webman:您的专属HTTP代理服务器,让网络浏览更加畅快!
分享一个 HTTPS A+ 的 nginx 配置
测试地址:https://www.ssllabs.com/ssltest/ nginx 配置,只贴出 SSL 相关,需要将配置放到 server {} 位置。 首先开启 ssl listen 443 ssl;server_name www.example.com;ssl on;ssl_certificate /etc/ssl/certs/ssl-bundle.crt;ssl_certificate_key /etc/ssl/private/www_example_com.key; 其中 ssl-bun
逸鹏
2018/04/09
8690
分享一个 HTTPS A+ 的 nginx 配置
接入letsencrypt+全面启用HTTP/2
之前我的域名只有owent.net和www.owent.net买了SSL证书,现在有letsencrypt可以拿到免费的SSL签证,就稍微花了点时间把我的域名的其他部分接入了letsencrypt签证系统。另外根据其他人的一些配置建议,提高了HTTPS的安全性配置和性能配置(主要是缓存)。另外原本我的blog就已经启用了spdy,然而现在新版本的nginx(1.10)已经release,原先的spdy模块被取消,新增了http/2模块。但是直接换nginx掉包是不行滴(后面有说原因),所以顺带自己处理了一下HTTP/2和nginx新版本的问题。
owent
2018/08/01
4850
使用Rsync和Nginx创建Rocky Linux 8.3 RC1本地存储库镜像
生产环境:Rocky Linux release 8.3, Nginx 1.14.1
欧巴云
2021/05/08
9220
使用Rsync和Nginx创建Rocky Linux 8.3 RC1本地存储库镜像
HTTPS 基本原理和配置 - 1
〇、概述 作为概述,以下是本文要讲的内容。HTTPS 是什么? 每个人都可能从浏览器上认出 HTTPS,并对它有好感。然后再讲一遍基础知识,再详细讲一下协议版本,密码套件(Cipher Suites)
东风微鸣
2022/04/22
7610
HTTPS 基本原理和配置 - 1
记录k8s下配置ssl安全连接版rabbitmq
因为有数据接入,公司要求启动ssl安全连接的方式把rabbitmq部署进k8s集群中。 首先,用CMF-AMQP-Configuration.git生成了证书及秘钥文件 接下来编写yaml文件,值得注意的是一定要事先把rabbitmq.conf和相关的秘钥放在/gv0/userapp/rabbitmq/etc/rabbitmq目录下,可供rabbitmq镜像找到。
gzq大数据
2021/03/22
6900
Nginx开源在线配置文件生成器 NginxConfig
Nginx Config 是一个强大的 Nginx 配置文件生成器,号称配置 Nginx 服务器所需的唯一工具。
Tinywan
2024/03/02
1.9K0
Nginx开源在线配置文件生成器 NginxConfig
如何在Apache和Nginx中启用TLS 1.3
TLS 1.3是传输层安全性(TLS)协议的最新版本,它基于现有的1.2规范和适当的IETF标准:RFC 8446.它提供了比其前代产品更强的安全性和更高的性能改进。
星哥玩云
2022/07/28
3.4K0
如何在Apache和Nginx中启用TLS 1.3
相关推荐
CentOS7中Nginx免费开启https
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档