打包为镜像
This commit is contained in:
parent
faeec0af4d
commit
e048df402d
8
.dockerignore
Normal file
8
.dockerignore
Normal file
@ -0,0 +1,8 @@
|
||||
Tongsuo-8.4.0/
|
||||
nginx-1.26.2/
|
||||
.git/
|
||||
docs/
|
||||
java-client/
|
||||
test/
|
||||
push.sh
|
||||
commit.sh
|
||||
71
Dockerfile
Normal file
71
Dockerfile
Normal file
@ -0,0 +1,71 @@
|
||||
# gateway:v2 - GMSSL Gateway (Nginx 1.26.2 + Tongsuo 8.4.0)
|
||||
# Builds TongsuoSSL (static) and links Nginx against it to provide SM2/SM3/SM4 GMSSL support.
|
||||
FROM ubuntu:24.04 AS build
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
libpcre2-dev \
|
||||
zlib1g-dev \
|
||||
libcrypt-dev \
|
||||
perl \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# ---- TongsuoSSL 8.4.0 ----
|
||||
COPY 8.4.0.tar.gz /build/
|
||||
RUN tar -xzf 8.4.0.tar.gz
|
||||
WORKDIR /build/Tongsuo-8.4.0
|
||||
RUN ./config --prefix=/opt/tongsuo-8.4.0 --libdir=lib64 no-shared no-zlib no-threads enable-ntls \
|
||||
&& make -j$(nproc) \
|
||||
&& make install_sw
|
||||
|
||||
# ---- Nginx 1.26.2 (linked against Tongsuo) ----
|
||||
WORKDIR /build
|
||||
COPY nginx-1.26.2.tar.gz /build/
|
||||
RUN tar -xzf nginx-1.26.2.tar.gz
|
||||
WORKDIR /build/nginx-1.26.2
|
||||
RUN ./configure \
|
||||
--prefix=/usr/local/nginx \
|
||||
--with-http_ssl_module \
|
||||
--with-stream \
|
||||
--with-stream_ssl_module \
|
||||
--with-http_v2_module \
|
||||
--with-http_realip_module \
|
||||
--with-cc-opt="-I/opt/tongsuo-8.4.0/include" \
|
||||
--with-ld-opt="-L/opt/tongsuo-8.4.0/lib64 -lssl -lcrypto -ldl -lpthread" \
|
||||
&& make -j$(nproc) \
|
||||
&& make install
|
||||
|
||||
# ---- Runtime ----
|
||||
FROM ubuntu:24.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libpcre2-8-0 \
|
||||
zlib1g \
|
||||
libcrypt1 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& mkdir -p /usr/local/nginx/conf/man/http \
|
||||
/usr/local/nginx/conf/man/stream \
|
||||
/usr/local/nginx/logs \
|
||||
/app
|
||||
|
||||
COPY --from=build /usr/local/nginx /usr/local/nginx
|
||||
|
||||
# Built-in main nginx config (project root nginx.conf)
|
||||
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
|
||||
|
||||
# The config directory is mounted by the test startup script to /usr/local/nginx/conf/man.
|
||||
# Pre-create a placeholder http include so the server starts when nothing is mounted.
|
||||
RUN printf '# empty\n' > /usr/local/nginx/conf/man/http/.keep \
|
||||
&& printf '# empty\n' > /usr/local/nginx/conf/man/stream/.keep
|
||||
|
||||
EXPOSE 80 443 8443
|
||||
|
||||
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]
|
||||
128
nginx.conf
Normal file
128
nginx.conf
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
#user nobody;
|
||||
worker_processes 4;
|
||||
|
||||
#error_log logs/error.log;
|
||||
#error_log logs/error.log notice;
|
||||
#error_log logs/error.log info;
|
||||
|
||||
#pid logs/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 2048;
|
||||
}
|
||||
|
||||
|
||||
stream {
|
||||
log_format basic '$remote_addr [$time_local] '
|
||||
'$protocol $status $bytes_sent $bytes_received '
|
||||
'$session_time';
|
||||
access_log logs/stream-access.log basic buffer=32k;
|
||||
error_log logs/stream-error.log debug;
|
||||
include /usr/local/nginx/conf/man/stream/*.conf;
|
||||
}
|
||||
|
||||
http {
|
||||
server_tokens off;
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
# '$status $body_bytes_sent "$http_referer" '
|
||||
# '"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
#access_log logs/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
#keepalive_timeout 0;
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
include /usr/local/nginx/conf/man/http/*.conf;
|
||||
# server {
|
||||
# listen 8080;
|
||||
# server_name localhost;
|
||||
#
|
||||
# #charset koi8-r;
|
||||
# root /usr/local/nginx/html;
|
||||
#
|
||||
# #access_log logs/host.access.log main;
|
||||
#
|
||||
# location / {
|
||||
# root html;
|
||||
# index index.html index.htm;
|
||||
# }
|
||||
#
|
||||
# #error_page 404 /404.html;
|
||||
#
|
||||
# # redirect server error pages to the static page /50x.html
|
||||
# #
|
||||
# error_page 500 502 503 504 /50x.html;
|
||||
# location = /50x.html {
|
||||
# root html;
|
||||
# }
|
||||
#
|
||||
# # proxy the PHP scripts to Apache listening on 127.0.0.1:80
|
||||
# #
|
||||
# #location ~ \.php$ {
|
||||
# # proxy_pass http://127.0.0.1;
|
||||
# #}
|
||||
#
|
||||
# # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
|
||||
# #
|
||||
# #location ~ \.php$ {
|
||||
# # root html;
|
||||
# # fastcgi_pass 127.0.0.1:9000;
|
||||
# # fastcgi_index index.php;
|
||||
# # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
|
||||
# # include fastcgi_params;
|
||||
# #}
|
||||
#
|
||||
# # deny access to .htaccess files, if Apache's document root
|
||||
# # concurs with nginx's one
|
||||
# #
|
||||
# #location ~ /\.ht {
|
||||
# # deny all;
|
||||
# #}
|
||||
# }
|
||||
|
||||
|
||||
# another virtual host using mix of IP-, name-, and port-based configuration
|
||||
#
|
||||
#server {
|
||||
# listen 8000;
|
||||
# listen somename:8080;
|
||||
# server_name somename alias another.alias;
|
||||
|
||||
# location / {
|
||||
# root html;
|
||||
# index index.html index.htm;
|
||||
# }
|
||||
#}
|
||||
|
||||
|
||||
# HTTPS server
|
||||
#
|
||||
#server {
|
||||
# listen 443 ssl;
|
||||
# server_name localhost;
|
||||
|
||||
# ssl_certificate cert.pem;
|
||||
# ssl_certificate_key cert.key;
|
||||
|
||||
# ssl_session_cache shared:SSL:1m;
|
||||
# ssl_session_timeout 5m;
|
||||
|
||||
# ssl_ciphers HIGH:!aNULL:!MD5;
|
||||
# ssl_prefer_server_ciphers on;
|
||||
|
||||
# location / {
|
||||
# root html;
|
||||
# index index.html index.htm;
|
||||
# }
|
||||
#}
|
||||
|
||||
}
|
||||
17
test/config/certs/rsa.dev.csr
Normal file
17
test/config/certs/rsa.dev.csr
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICuTCCAaECAQAwdDELMAkGA1UEBhMCQ04xETAPBgNVBAgMCFpoZWppYW5nMREw
|
||||
DwYDVQQHDAhIYW5nemhvdTEQMA4GA1UECgwHU3VueWFyZDEPMA0GA1UECwwGRGV2
|
||||
aWNlMRwwGgYDVQQDDBNTdW55YXJkIERldmljZSBDZXJ0MIIBIjANBgkqhkiG9w0B
|
||||
AQEFAAOCAQ8AMIIBCgKCAQEAqWq6BPVRQNRc8ofhnLWhqJiPHmEQKhVzFXfZOzVj
|
||||
W0pNn/W1uh8iGwD9KDirmKwyfZH4E3QN4SwK1ia1N2zqSzp5y8OYHg6UUBjkJdhR
|
||||
UdzoNQEmMFrr5M9g9OYA4qvUo6FQZORrgU4A/VZQtq3wToRea6WziIYhtnrs/IS6
|
||||
HTP8UaaiO/V3x8iFesJpBJOeZwSOo/Ut0cJjLtP1yiddYJ5Ui9sN60QplWH3Fhjy
|
||||
guOmYxfAumwa3pAhJNdKvVMDFczr4l4RqVzPKomBUCbHjeuC/6LpdXc2efqc4tsq
|
||||
C+PhIScm11pZYE/hOKiBB2v7Sbxl6g4oFc8EG2crczqIlwIDAQABoAAwDQYJKoZI
|
||||
hvcNAQELBQADggEBAJKJUyxa6AR8J9BlqxZubT7kF7yxp1uoCyBcztKbaIo85sDl
|
||||
tIDppgfAgKBPeJb2i2Ayfzr7+kI+XPmvzNYqeAd3mXzEG9hxjVajWhduBcVTV302
|
||||
lwdayXhnNw9bJcwZREDgJo2xa12s4kRzjPPP3x0zj9ZTq+wGsk4x92lVfrySDtuW
|
||||
fRbV/tS39Ff/ZpFiuDYuhEMecg/00cEfjvxpbNt5Yea558fmg+XE6qDNkp1bdjoJ
|
||||
IfZyOy+/+Sl1e6hiDOaNdnaDU4SDMPlhl6R8pBNtdgSzZUcRMgx6WZlBCNLUpQyL
|
||||
z5rOfSsdnHfh3aDAjS2JIeovcuDWu5sC48TSbGI=
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
27
test/config/certs/rsa.dev.key
Normal file
27
test/config/certs/rsa.dev.key
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpQIBAAKCAQEA2ydFXnDr/7P4hgec6gr+AZhlz1/XDfqzI7MyyUC9gCVi4cwW
|
||||
db47CN8N4wQyMN3KYS8pEkbMkYR2mQHmx9BphwKqsTInxYh7gGDgrdAG9a92ZyJ0
|
||||
hud8A74j8EVEmYd5YuNgI/16Ei0Sxd1nsknfHZhycuKb0d/utGKU6rkCYz0fNprT
|
||||
Ls/Pn0SKS8SgseMErNR0JQwx1NrdI5xpN2nxsKU7nmss/iOYvXzV0OexT50pGbgJ
|
||||
gvP4AZjL3eWwPvEWldlHg0JyziN/YyvpHkhiUq+4HMdqrcGOR6n7pCfHsPQGJXDQ
|
||||
4CBSu93UZ6SlJI2obqmOkJ/0YcpXi2sJMmZziQIDAQABAoIBAQCeomOdRCIgetan
|
||||
tjUIWSKaZwUzQg26acFoUxutADbr3qQgDAop+qRi/IrhzDTEmJcZF/kj6KnFn9v1
|
||||
T6IM+ziX6P9Duql9XBkByZ55Un7nMraDWzZ8PG3Ri74Z+xn4BE+CnFIIW0AUjhnr
|
||||
riOUs9JUavhVXuEp3227lyxyZ69pwwq8edFinrVKIZgABwY+w3uxnzFn7cKebnG5
|
||||
Q769Oy7FX827f+7F4RiHjs0J07pSgyzdND47qo2yPdq4DmgSXSHS43e/ZH2Y+25q
|
||||
yPvqvMqpkVqcJ3MBYLdJDzDk/d965dVyga0HCdRs0NNy6DyDWTLrvcLLETcZRn3+
|
||||
38h6miD9AoGBAO66yWU3Fv1W+fM6O2ZLiyKLayZLKQ10+s2XpLw2dl1J/ivCTn9r
|
||||
p+KPek4VNq4+kI1sXXxp0hwy51zRTjUGocK8ao4IRbIhllCI9ROshPa2Fa4KfOIT
|
||||
SFfnQdx/upJacZIJb3E4aeQgdXfWrm1LLWZqCeXd85e590KsHZAt6aG7AoGBAOsB
|
||||
7/POkYfbJlS6JuYWZwXuABtA9+51QANqzdZjjLJ+ZMcAVwL8zGsFPmDlssU49rlC
|
||||
GYAkU1d49Rw8iF7mn5e243joZer1K7YFNeg91zp4Wp6uJlbNCg8hN7i3shoIimfu
|
||||
6vF9NLdY25x0qizXu033TTnctLFuMBDE30rdizmLAoGBAJhgYwIWyrbDmGDWj2l4
|
||||
2IMhKDBWEwsC2r71hvGXda+P9gsqR/5u0cb7u54xTiijyJJsU7OAu9rB5wlIk7mm
|
||||
1QM+TmkAALR1WcNn175KBMiQaoAfM5z9n9RzyIcchBK8ZfdHzHkg//3bdf8a6VTb
|
||||
gkv3bP/qznvO+HL29xu7In/XAoGBAJJrIpVEnmeGotsnIBU63/VR078nO1HWu4tl
|
||||
f9mTLJYJKcDS9WNnHfWPzs2QT1GRrCbAiCLOfx6AvjZZgJ2gEs7zo8YxBU7ecd12
|
||||
YZ/Q58gGNG+pEToDhcDncVAlI1IVACbBNKBA4hdZxXo1NdG6l3h8HCFw4SOrA0dv
|
||||
Ya/DWHsBAoGAAqv0H0chJbe17C26w9j/vTg9s/G6cQ27Fr29x93Fp5ZkA9ks8Dq/
|
||||
kGVpxbokRpcjAxce3DHMHUrWA2fjkqeB/GVw8WJS0hlgIV/b3jLOhtDq1XYkIGVE
|
||||
i8gQjdJvHiMolE+lZIgtcFV+5eHlP/OJwnGTQOkG+P2fx6YrJGBuI/c=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
21
test/config/certs/rsa.dev.pem
Normal file
21
test/config/certs/rsa.dev.pem
Normal file
@ -0,0 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZjCCAk4CCQDYb2lyTxN3mDANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJD
|
||||
TjERMA8GA1UECAwIWmhlamlhbmcxETAPBgNVBAcMCEhhbmd6aG91MRAwDgYDVQQK
|
||||
DAdTdW55YXJkMQ8wDQYDVQQLDAZEZXZpY2UxHjAcBgNVBAMMFVN1bnlhcmQgUlNB
|
||||
IFJvb3QgQ2VydDAeFw0yMzA0MDMwNjU3MjVaFw0zMzAzMzEwNjU3MjVaMHQxCzAJ
|
||||
BgNVBAYTAkNOMREwDwYDVQQIDAhaaGVqaWFuZzERMA8GA1UEBwwISGFuZ3pob3Ux
|
||||
EDAOBgNVBAoMB1N1bnlhcmQxDzANBgNVBAsMBkRldmljZTEcMBoGA1UEAwwTU3Vu
|
||||
eWFyZCBEZXZpY2UgQ2VydDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
||||
ANsnRV5w6/+z+IYHnOoK/gGYZc9f1w36syOzMslAvYAlYuHMFnW+OwjfDeMEMjDd
|
||||
ymEvKRJGzJGEdpkB5sfQaYcCqrEyJ8WIe4Bg4K3QBvWvdmcidIbnfAO+I/BFRJmH
|
||||
eWLjYCP9ehItEsXdZ7JJ3x2YcnLim9Hf7rRilOq5AmM9Hzaa0y7Pz59EikvEoLHj
|
||||
BKzUdCUMMdTa3SOcaTdp8bClO55rLP4jmL181dDnsU+dKRm4CYLz+AGYy93lsD7x
|
||||
FpXZR4NCcs4jf2Mr6R5IYlKvuBzHaq3Bjkep+6Qnx7D0BiVw0OAgUrvd1GekpSSN
|
||||
qG6pjpCf9GHKV4trCTJmc4kCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAkjKHyPk3
|
||||
0dkgOYuBnW4KHyBigZNgFvHRXPXAuXlGJx0RH8PmJdcxTvmS4cEzMngThz/8tmWf
|
||||
PP+E4cJIyQyr0fJSnIaxfrSGIMowU+GYE8K3iVeS6nQN9+vtEMUOKmprtzeRH6eI
|
||||
XN7F1x8KZHJoDMhmr9ELxs73fUS/aRvglyK7xgS4VBO40Jwyuj2b9jLK7toDMfcM
|
||||
0DArxiuo/u3P1K8rN5sxLeb6dra8aBAl8dr9884VVbDfRX+y0RB/YaaSjkwlYDRV
|
||||
FNS8pwLO+7T//HkwmxF8PqpXkrUuqLZOuLLabF6OSCr9GMtksAV8Sz2xU6YZQz4S
|
||||
LKJyxxzv/hUWvA==
|
||||
-----END CERTIFICATE-----
|
||||
8
test/config/certs/sm2.enc.key
Normal file
8
test/config/certs/sm2.enc.key
Normal file
@ -0,0 +1,8 @@
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BggqgRzPVQGCLQ==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MHcCAQEEID7x9VjRErDY+pqa3s0UBGURgSKyi6Un3imc5FG3cttOoAoGCCqBHM9V
|
||||
AYItoUQDQgAEd0GwW7VzultdonIHPKjFu6+Itrl8VSK5hcJ8ws6DSUXXSCbppoWy
|
||||
P9mFOpc9mWOAwkS+CByYFE/CAL/b966NBA==
|
||||
-----END EC PRIVATE KEY-----
|
||||
13
test/config/certs/sm2.enc.pem
Normal file
13
test/config/certs/sm2.enc.pem
Normal file
@ -0,0 +1,13 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIB/zCCAaWgAwIBAgIJAL5tPQX+HyrdMAoGCCqBHM9VAYN1MHYxCzAJBgNVBAYT
|
||||
AkNOMREwDwYDVQQIDAhaaGVqaWFuZzERMA8GA1UEBwwISGFuZ3pob3UxEDAOBgNV
|
||||
BAoMB1N1bnlhcmQxDzANBgNVBAsMBkRldmljZTEeMBwGA1UEAwwVU3VueWFyZCBT
|
||||
TTIgUm9vdCBDZXJ0MB4XDTIzMDQwNDA3MjI1MVoXDTMzMDQwMTA3MjI1MVoweDEL
|
||||
MAkGA1UEBhMCQ04xETAPBgNVBAgMCFpoZWppYW5nMREwDwYDVQQHDAhIYW5nemhv
|
||||
dTEQMA4GA1UECgwHU3VueWFyZDEPMA0GA1UECwwGRGV2aWNlMSAwHgYDVQQDDBdT
|
||||
dW55YXJkIERldmljZSBFbmMgQ2VydDBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IA
|
||||
BHdBsFu1c7pbXaJyBzyoxbuviLa5fFUiuYXCfMLOg0lF10gm6aaFsj/ZhTqXPZlj
|
||||
gMJEvggcmBRPwgC/2/eujQSjGjAYMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgM4MAoG
|
||||
CCqBHM9VAYN1A0gAMEUCIGegR6g/BCjcnEkFdY6nbKJvaoGTHGZpfvU8NJZDVc35
|
||||
AiEAmb9Lla0l0GimoImTXtq9ry2WkgQ+q0X/BZYsfNyHZ28=
|
||||
-----END CERTIFICATE-----
|
||||
8
test/config/certs/sm2.sig.key
Normal file
8
test/config/certs/sm2.sig.key
Normal file
@ -0,0 +1,8 @@
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BggqgRzPVQGCLQ==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MHcCAQEEICW1mzkAgayW4sTBsJeU/yePU3WUxyosD1y94lfmficzoAoGCCqBHM9V
|
||||
AYItoUQDQgAEmFy2tYzB8lOUW/YJiYR6csYc1UsCzRE4LrLRCacrBw4LzJkmjJcJ
|
||||
i1yBxWlXWTXJpY8s8nrpUsngc/ohXBRk+Q==
|
||||
-----END EC PRIVATE KEY-----
|
||||
13
test/config/certs/sm2.sig.pem
Normal file
13
test/config/certs/sm2.sig.pem
Normal file
@ -0,0 +1,13 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIB/jCCAaSgAwIBAgIJAL5tPQX+HyrcMAoGCCqBHM9VAYN1MHYxCzAJBgNVBAYT
|
||||
AkNOMREwDwYDVQQIDAhaaGVqaWFuZzERMA8GA1UEBwwISGFuZ3pob3UxEDAOBgNV
|
||||
BAoMB1N1bnlhcmQxDzANBgNVBAsMBkRldmljZTEeMBwGA1UEAwwVU3VueWFyZCBT
|
||||
TTIgUm9vdCBDZXJ0MB4XDTIzMDQwNDA3MjIzMloXDTMzMDQwMTA3MjIzMlowdzEL
|
||||
MAkGA1UEBhMCQ04xETAPBgNVBAgMCFpoZWppYW5nMREwDwYDVQQHDAhIYW5nemhv
|
||||
dTEQMA4GA1UECgwHU3VueWFyZDEPMA0GA1UECwwGRGV2aWNlMR8wHQYDVQQDDBZT
|
||||
dW55YXIgRGV2aWNlIFNpZyBDZXJ0MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
|
||||
mFy2tYzB8lOUW/YJiYR6csYc1UsCzRE4LrLRCacrBw4LzJkmjJcJi1yBxWlXWTXJ
|
||||
pY8s8nrpUsngc/ohXBRk+aMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBsAwCgYI
|
||||
KoEcz1UBg3UDSAAwRQIgYdslbhD8LBIvTpl9wemPLdLN1tsgyq5WGYSlKMtHtPsC
|
||||
IQDc7xD3MVo3lVgBRcjJ2Pl/ZZvYpVObldqIE8VzdLErbA==
|
||||
-----END CERTIFICATE-----
|
||||
111
test/config/http/hsm.conf
Normal file
111
test/config/http/hsm.conf
Normal file
@ -0,0 +1,111 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name 0.0.0.0;
|
||||
|
||||
|
||||
location / {
|
||||
root /app/dist;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ^~ /api/v1/ {
|
||||
proxy_pass http://127.0.0.1:1023/;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
client_max_body_size 900M;
|
||||
client_body_buffer_size 900M;
|
||||
|
||||
proxy_connect_timeout 720;
|
||||
proxy_read_timeout 720;
|
||||
proxy_send_timeout 720;
|
||||
}
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
server {
|
||||
listen 443 ssl default_server;
|
||||
server_name 0.0.0.0;
|
||||
|
||||
ssl_protocols TLSv1.3;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA:AES256-SHA;
|
||||
ssl_conf_command Ciphersuites TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256;
|
||||
ssl_verify_client off;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
ssl_certificate /usr/local/nginx/conf/man/certs/rsa.dev.pem;
|
||||
ssl_certificate_key /usr/local/nginx/conf/man/certs/rsa.dev.key;
|
||||
|
||||
location / {
|
||||
root /app/dist;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ^~ /api/v1/ {
|
||||
proxy_pass http://127.0.0.1:1023/;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
client_max_body_size 900M;
|
||||
client_body_buffer_size 900M;
|
||||
|
||||
proxy_connect_timeout 720;
|
||||
proxy_read_timeout 720;
|
||||
proxy_send_timeout 720;
|
||||
}
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
server {
|
||||
listen 8443 ssl default_server;
|
||||
server_name 0.0.0.0;
|
||||
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3;
|
||||
ssl_conf_command Ciphersuites TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3;
|
||||
ssl_verify_client off;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
ssl_certificate /usr/local/nginx/conf/man/certs/sm2.sig.pem;
|
||||
ssl_certificate_key /usr/local/nginx/conf/man/certs/sm2.sig.key;
|
||||
|
||||
location / {
|
||||
root /app/dist;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ^~ /api/v1/ {
|
||||
proxy_pass http://127.0.0.1:1023/;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
client_max_body_size 900M;
|
||||
client_body_buffer_size 900M;
|
||||
|
||||
proxy_connect_timeout 720;
|
||||
proxy_read_timeout 720;
|
||||
proxy_send_timeout 720;
|
||||
}
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
9
test/logs/access.log
Normal file
9
test/logs/access.log
Normal file
@ -0,0 +1,9 @@
|
||||
127.0.0.1 - - [14/Aug/2026:02:59:33 +0000] "GET / HTTP/1.1" 200 47 "-" "curl/8.5.0"
|
||||
127.0.0.1 - - [14/Aug/2026:02:59:33 +0000] "GET / HTTP/1.1" 200 47 "-" "curl/8.5.0"
|
||||
127.0.0.1 - - [14/Aug/2026:03:00:32 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
127.0.0.1 - - [14/Aug/2026:03:01:01 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
127.0.0.1 - - [14/Aug/2026:03:01:31 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
127.0.0.1 - - [14/Aug/2026:03:01:57 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
5.61.209.44 - - [14/Aug/2026:03:02:00 +0000] "GET /SDK/webLanguage HTTP/1.1" 200 47 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46"
|
||||
127.0.0.1 - - [14/Aug/2026:03:26:59 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
127.0.0.1 - - [14/Aug/2026:03:27:01 +0000] "GET / HTTP/1.0" 200 47 "-" "-"
|
||||
24
test/logs/error.log
Normal file
24
test/logs/error.log
Normal file
@ -0,0 +1,24 @@
|
||||
2026/08/14 02:44:27 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:27 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:28 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:29 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:30 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:32 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:35 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:42 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:44:55 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:45:21 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:46:13 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:47:13 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:48:13 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:49:13 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:50:14 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:51:14 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:52:15 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:53:15 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:TLS_SM4_GCM_SM3:TLS_SM4_CCM_SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:54:15 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:55:16 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:56:16 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:57:16 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 02:58:17 [emerg] 1#0: SSL_CTX_set_cipher_list("ECDHE-SM2-SM4-GCM-SM3:ECDHE-SM2-SM4-CBC-SM3:ECC-SM2-SM4-GCM-SM3:ECC-SM2-SM4-CBC-SM3") failed (SSL: error:0A0000B9:SSL routines::no cipher match)
|
||||
2026/08/14 03:26:36 [notice] 24#0: signal process started
|
||||
1
test/logs/nginx.pid
Normal file
1
test/logs/nginx.pid
Normal file
@ -0,0 +1 @@
|
||||
1
|
||||
0
test/logs/stream-access.log
Normal file
0
test/logs/stream-access.log
Normal file
0
test/logs/stream-error.log
Normal file
0
test/logs/stream-error.log
Normal file
10
test/start.sh
Normal file
10
test/start.sh
Normal file
@ -0,0 +1,10 @@
|
||||
name=gateway.lib
|
||||
img=gateway:v2
|
||||
docker rm -vf $name
|
||||
docker run -d --name $name \
|
||||
--net host \
|
||||
--restart=always \
|
||||
-v `pwd`/config:/usr/local/nginx/conf/man \
|
||||
-v `pwd`/logs:/usr/local/nginx/logs \
|
||||
-v /app/hsm/vue:/app \
|
||||
$img
|
||||
Loading…
Reference in New Issue
Block a user