openresty集成gmssl做成docker镜像

本文档详细介绍了如何在Linux环境中编译GMSSL和OpenResty,并通过Dockerfile将两者集成到一个自定义镜像中。首先,分别下载并编译GMSSL和OpenResty,指定GMSSL的安装路径。然后,在Dockerfile中配置环境变量,拷贝编译好的文件到合适位置。最后,构建Docker镜像并启动容器,实现OpenResty使用GMSSL的SSL模块。
摘要由CSDN通过智能技术生成

背景

由于openresty默认使用openssl,强行引入gmssl会导致so文件不兼容等问题。

编译gmssl

gmssl下载地址:https://github.com/guanzhi/GmSSL/

然后解压,编译安装

./config --prefix=/usr/local/gmssl/
make
make install

编译安装openresty

openresty下载地址:https://openresty.org/download/openresty-1.19.3.1.tar.gz

./configure --prefix=/usr/local/openresty/  --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/gmssl/
make j4
make install

编写Dockerfile

注意路径

cd /usr/local/
vim Dockerfile

Dockerfile文件内容为:


FROM centos:7

# nginx需要pcre依赖所以安装pcre
RUN yum install -y pcre pcre-devel
# 有可能运行时,找不到libpcre.so.3做个软连接即可
RUN ln -s /usr/lib64/libpcre.so.1 /usr/lib64/libpcre.so.3

# 把刚刚编译好的openresty和gmssl拷贝到容器中
COPY ./openresty/ /usr/local/openresty
# 把libcrypto.so、libcrypto.so.1.1、libssl.so、libssl.so.1.1 拷贝进去(因为我是已经把这几个文件放到了/usr/local/openresty/nginx/sbin下了,所以我这儿直接拷贝),原路径为 /usr/local/GmSSL-master/下
COPY ./openresty/nginx/sbin/lib* /usr/lib64/
# 拷贝gmssl
COPY ./GmSSL-master/ /usr/local/GmSSL-master/


# Add additional binaries into PATH for convenience
ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin



CMD ["/usr/local/openresty/nginx/sbin/nginx", "-g", "daemon off;"]

# Use SIGQUIT instead of default SIGTERM to cleanly drain requests
# See https://github.com/openresty/docker-openresty/blob/master/README.md#tips--pitfalls
STOPSIGNAL SIGQUIT

构建镜像

注意路径,Dockerfile必须在当前路径下。

docker build -t openresty-gm:v1 .

等待完成就好啦,用docker images查看刚刚构建好的镜像,就可以开心的run了

docker run -d -it -p 12345:8916  openresty-gm:v1

搞定!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值