Created
October 22, 2023 03:38
-
-
Save maitrungduc1410/bf7ef11d31422a8bf5ffab20bacc333b to your computer and use it in GitHub Desktop.
Docker Centos Nginx JWT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM quay.io/sclorg/nginx-120-c8s as base | |
FROM base as builder | |
USER root | |
ARG JWT_MODULE_PATH=/usr/local/lib/ngx-http-auth-jwt-module | |
ARG LIBJWT_VERSION=1.13.1 | |
ARG NGINX_VERSION=1.20.0 | |
RUN mkdir -p $JWT_MODULE_PATH/src | |
RUN yum install -y \ | |
# nginx | |
# devtoolset-10 \ | |
glibc.i686 \ | |
glibc-devel.i686 \ | |
gcc \ | |
glibc-devel \ | |
make \ | |
openssl-devel \ | |
pcre-devel \ | |
zlib-devel \ | |
# linux-headers \ | |
# libjwt | |
jansson-devel \ | |
autoconf \ | |
automake \ | |
libtool \ | |
cmake \ | |
check-devel | |
# BEGIN libjwt install | |
RUN mkdir libjwt \ | |
&& curl -sL https://github.com/benmcollins/libjwt/archive/v${LIBJWT_VERSION}.tar.gz \ | |
| tar -zx -C libjwt/ --strip-components=1 \ | |
&& cd libjwt \ | |
&& autoreconf -i \ | |
&& ./configure \ | |
&& make all \ | |
&& make check \ | |
&& make install | |
RUN curl -fSL http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz -o nginx.tar.gz \ | |
&& mkdir -p /usr/src \ | |
&& tar -zxC /usr/src -f nginx.tar.gz \ | |
&& rm nginx.tar.gz | |
ADD config $JWT_MODULE_PATH/config | |
ADD src $JWT_MODULE_PATH/src | |
RUN cd /usr/src/nginx-${NGINX_VERSION} \ | |
&& ./configure --with-compat --add-dynamic-module=$JWT_MODULE_PATH --build=centos8 \ | |
&& make modules | |
FROM base as jwt-nginx | |
USER root | |
ARG LIBJWT=libjwt.so.1.8.1 | |
ARG NGINX_VERSION=1.20.0 | |
COPY --from=builder /usr/src/nginx-${NGINX_VERSION}/objs/ngx_http_auth_jwt_module.so /usr/lib/nginx/modules/ngx_http_auth_jwt_module.so | |
COPY --from=builder /usr/local/lib/${LIBJWT} /lib | |
RUN yum install -y jansson | |
RUN sed -i '1iload_module modules/ngx_http_auth_jwt_module.so;' /etc/nginx/nginx.conf | |
# RUN ln -s /lib/${LIBJWT} /lib/libjwt.so.1 | |
RUN ln -s /lib/${LIBJWT} /lib/libjwt.so |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjk4MDM0NDgyLCJleHAiOjE2OTgwNzc2ODJ9.Wl6W7Fls7hlOPd3DcWhbajj1Dgg5-_SoFHcMJgGni9LPBzJ8WrHCB65wUFaZMr6V4W9Ad9lbhauo2eGDLzM06JYHbiEOocawz5KmJsjyOL_68_s3vhu0jrDQSzgF6KAndiTuDOmrf6k6Yfv1LTUYMMay2gf9yEVxIA2voIo0gAU9ykKSjdsYbgj20ZoDGK07VSKgQE2CiWBS3RGvyduYt9nOPb6TyWjNuOeCOFmnRn0Mz887K2V3BEuk0ECxN7AEBAW_h-x0y0uFWCINKow3pyUbHYqwgBNP_Z6kCQxfJIKE0JUheJia82itwWs8KHnj2_Uu2eJXNL04QZCMk60Ktjmr9oXDrp_6gFRN-GYXZzyqTDM4nOVFapiG4X9nIEh6pTJ1-6eJuTE69STnJmVophoUEjUC9t8iEiHOXF6q2N_haLDIIgrfURZyuqq7RYqKw4Mk0HuY_7SDpWwSWeGciC3H7pYnH7v1RF9li7lDy58xKjdWlZ7_a2V4sZcjW5RrLlkRtZX5-3O_qMggfTppVMdZRlrid0jFrCndABha9UWUcikn4cMj0ncfBjhFNy3kmLH1ZWCMZWSho_lC0BSGcCo7-yWTcEZ8lsYCcshYmHFjqdbJ9g9S9fMpE4TbrS4eUDkpqT4b_0aP0ros7O_Kj-rZ3bofI4tBoybxTkQoqhI