| 知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
在項目根目錄創建 Dockerfile 檔案
% cat Dockerfile FROM openjdk VOLUME /tmp COPY target/*.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
編譯鏡像
mvn package docker build -t netkiller/docker . % docker images | grep netkiller netkiller/docker latest ed359b6ffcad 16 seconds ago 105MB % docker run -ti --entrypoint /bin/sh netkiller/docker sh-4.2# ls app.jar bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var sh-4.2#
啟動鏡像測試
docker run -p 8080:8080 netkiller/docker neo@MacBook-Pro ~ % curl http://localhost:8080 Hello Docker World
% cat src/main/docker/Dockerfile FROM openjdk VOLUME /tmp COPY target/*.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
mvn package docker rmi netkiller/docker -f docker build -t netkiller/docker -f src/main/docker/Dockerfile . docker run -p 8080:8080 netkiller/docker
neo@MacBook-Pro ~ % curl http://localhost:8080 Hello Docker World
% cat src/main/docker/Dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
mvn package docker rmi netkiller/docker -f docker build --build-arg JAR_FILE=target/*.jar -t netkiller/docker -f src/main/docker/Dockerfile . docker run -p 8080:8080 netkiller/docker
% docker run -e "SPRING_PROFILES_ACTIVE=prod" -p 8080:8080 netkiller/docker
neo@MacBook-Pro ~ % docker push netkiller/docker The push refers to repository [docker.io/netkiller/docker] 100ff47f36fe: Pushed a7aafc769de1: Mounted from library/openjdk 2666aafcfdd9: Mounted from library/openjdk c4a7cf6a6169: Mounted from library/openjdk latest: digest: sha256:3078fea95c633f007be33b829efae0ff8e9d78ad463925af7d07752c95eb43a3 size: 1165
項目地址 https://github.com/spotify/dockerfile-maven
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.netkiller.docker.Application</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.10</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<dockerfile>${project.basedir}/src/main/docker/Dockerfile</dockerfile>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
neo@MacBook-Pro ~/git/springcloud/docker % mvn dockerfile:build
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< cn.netkiller:docker >-------------------------
[INFO] Building docker 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- dockerfile-maven-plugin:1.4.10:build (default-cli) @ docker ---
[INFO] dockerfile: /Users/neo/git/springcloud/docker/src/main/docker/Dockerfile
[INFO] contextDirectory: /Users/neo/git/springcloud/docker
[INFO] Building Docker context /Users/neo/git/springcloud/docker
[INFO] Path(dockerfile): /Users/neo/git/springcloud/docker/src/main/docker/Dockerfile
[INFO] Path(contextDirectory): /Users/neo/git/springcloud/docker
[INFO]
[INFO] Image will be built as netkiller/docker:0.0.1-SNAPSHOT
[INFO]
[INFO] Step 1/7 : FROM openjdk
[INFO]
[INFO] Pulling from library/openjdk
[INFO] Digest: sha256:38ec2c78a60ec4d5773c93534e433237be154ff5afa476965a68837b43ef2f19
[INFO] Status: Image is up to date for openjdk:latest
[INFO] ---> b697a97ee8e1
[INFO] Step 2/7 : MAINTAINER Netkiller <netkiller@msn.com>
[INFO]
[INFO] ---> Using cache
[INFO] ---> e6fd68ec1ce8
[INFO] Step 3/7 : VOLUME /tmp
[INFO]
[INFO] ---> Using cache
[INFO] ---> 78b146e1a8a0
[INFO] Step 4/7 : ARG JAR_FILE
[INFO]
[INFO] ---> Using cache
[INFO] ---> 2c60b65d49dc
[INFO] Step 5/7 : COPY ${JAR_FILE} app.jar
[INFO]
[INFO] ---> Using cache
[INFO] ---> 3186f0425f1d
[INFO] Step 6/7 : CMD ["java", "-version"]
[INFO]
[INFO] ---> Using cache
[INFO] ---> d14b8d6360fe
[INFO] Step 7/7 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
[INFO]
[INFO] ---> Using cache
[INFO] ---> 68e424cf5eab
[INFO] Successfully built 68e424cf5eab
[INFO] Successfully tagged netkiller/docker:0.0.1-SNAPSHOT
[INFO]
[INFO] Detected build of image with id 68e424cf5eab
[INFO] Building jar: /Users/neo/git/springcloud/docker/target/docker-0.0.1-SNAPSHOT-docker-info.jar
[INFO] Successfully built netkiller/docker:0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.413 s
[INFO] Finished at: 2019-04-13T05:39:07+08:00
[INFO] ------------------------------------------------------------------------
<build>
<plugins>
...
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>VERSION GOES HERE</version>
<configuration>
<imageName>example</imageName>
<dockerDirectory>docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
...
</plugins>
</build>
項目地址 https://github.com/spotify/docker-maven-plugin
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<baseImage>openjdk</baseImage>
<tag>${project.version}</tag>
<maintainer>${docker.maintainer}</maintainer>
<volumes>/tmp</volumes>
<workdir>/</workdir>
<cmd>["java", "-version"]</cmd>
<entryPoint>["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<!-- copy the service's jar file from target into the root directory of the image -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
構建鏡像 mvn clean package docker:build
neo@MacBook-Pro ~/git/springcloud/webflux % mvn docker:build
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< cn.netkiller:webflux >------------------------
[INFO] Building webflux 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- docker-maven-plugin:1.2.0:build (default-cli) @ webflux ---
[INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier]
[INFO] Copying /Users/neo/git/springcloud/webflux/target/webflux-0.0.1-SNAPSHOT.jar -> /Users/neo/git/springcloud/webflux/target/docker/webflux-0.0.1-SNAPSHOT.jar
[INFO] Building image netkiller/webflux
Step 1/7 : FROM openjdk
---> b697a97ee8e1
Step 2/7 : MAINTAINER netkiller
---> Using cache
---> c275f5dc2815
Step 3/7 : WORKDIR /
---> Using cache
---> 27815e0b4455
Step 4/7 : ADD /webflux-0.0.1-SNAPSHOT.jar //
---> Using cache
---> 78b0fe2a827d
Step 5/7 : ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/webflux-0.0.1-SNAPSHOT.jar"]
---> Using cache
---> 66d5499c8ba3
Step 6/7 : CMD ["java", "-version"]
---> Using cache
---> 080a1468d88b
Step 7/7 : VOLUME /tmp
---> Using cache
---> 60debfac7b7c
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 60debfac7b7c
Successfully tagged netkiller/webflux:latest
[INFO] Built netkiller/webflux
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.485 s
[INFO] Finished at: 2019-04-13T05:41:41+08:00
[INFO] ------------------------------------------------------------------------
neo@MacBook-Pro ~ % vim /usr/local/Cellar/maven/3.6.0/libexec/conf/settings.xml
<!-- servers
| This is a list of authentication profiles, keyed by the server-id used within the system.
| Authentication profiles can be used whenever maven must make a connection to a remote server.
|-->
<servers>
<!-- server
| Specifies the authentication information to use when connecting to a particular server, identified by
| a unique name within the system (referred to by the 'id' attribute below).
|
| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
| used together.
|
<server>
<id>deploymentRepo</id>
<username>repouser</username>
<password>repopwd</password>
</server>
-->
<!-- Another sample, using keys to authenticate.
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
<server>
<id>docker-hub</id>
<username>netkiller</username>
<password>******</password>
<configuration>
<email>netkiller@msn.com</email>
</configuration>
</server>
</servers>
****** 修改為你的密碼
查看 Docker Registry 地址
neo@MacBook-Pro ~ % docker info | grep Registry Registry: https://index.docker.io/v1/
maven docker 插件配置
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<baseImage>openjdk</baseImage>
<tag>${project.version}</tag>
<maintainer>${docker.maintainer}</maintainer>
<volumes>/tmp</volumes>
<workdir>/srv</workdir>
<cmd>["java", "-version"]</cmd>
<entryPoint>["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/srv/${project.build.finalName}.jar"]</entryPoint>
<!-- copy the service's jar file from target into the root directory of the image -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<image>${docker.image.prefix}/${project.artifactId}</image>
<newName>${docker.image.prefix}/${project.artifactId}:${project.version}</newName>
<serverId>docker-hub</serverId>
<registryUrl>https://index.docker.io/v1/</registryUrl>
</configuration>
</plugin>
docker:build -DpushImage or docker:push
使用加密的密碼
neo@MacBook-Pro ~ % mvn --encrypt-master-password
Master password:
{r7kkN/XCOXYHqwRqE30k6Bz+pNGsB7/UogGTqqo+G2A=}
vim /usr/local/Cellar/maven/3.6.0/libexec/conf/settings.xml
<servers>
<server>
<id>docker-hub</id>
<username>netkiller</username>
<password>{r7kkN/XCOXYHqwRqE30k6Bz+pNGsB7/UogGTqqo+G2A=}</password>
</server>
</servers>
vim ~/.m2/settings-security.xml
<settingsSecurity>
<master>{r7kkN/XCOXYHqwRqE30k6Bz+pNGsB7/UogGTqqo+G2A=}</master>
</settingsSecurity>
在maven的conf/setting.xml中要加入:
neo@MacBook-Pro ~ % mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/Cellar/maven/3.6.0/libexec
Java version: 12, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: "mac"
vim /usr/local/Cellar/maven/3.6.0/libexec/conf/settings.xml
<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
iMac:config neo$ curl -k -i -H HOST:sss https://config:s3cr3t@localhost:8888/netkiller-dev.json curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8888
檢查發現 8888 連接埠已經啟動,SSL證書讀不到
iMac:config neo$ openssl s_client -connect localhost:8888 CONNECTED(00000005) 140735970464712:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.3/libressl/ssl/s23_lib.c:124: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 318 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated ---
我開始懷疑是泛域名問題
keytool -genkey -alias *.netkiller.cn -storetype PKCS12 -keyalg RSA -keysize 2048 -storepass passw0rd -keystore allhost.p12 -dname "CN=*.netkiller.cn, OU=netkiller, O=netkiller.cn, L=Guangdong, ST=Shenzhen, C=CN" keytool -selfcert -alias *.netkiller.cn -storepass passw0rd -keystore allhost.p12
測試後發現跟證書無關。
經過曲折的排查發現綁定了地址,在本地啟動是正常的,一旦放入 Docker 容器就無法工作。
#server.address=localhost server.port=8888 server.ssl.enabled=true server.ssl.key-store-type=PKCS12 server.ssl.key-store=classpath:localhost.p12 server.ssl.key-store-password=123456 #server.ssl.key-store=classpath:allhost.p12 #server.ssl.key-store-password=passw0rd server.http2.enabled=true #logging.file=target/spring.log spring.application.name=config-server spring.profiles.active=native spring.security.user.name=config spring.security.user.password=s3cr3t #spring.cloud.config.server.git.uri=/opt/config spring.cloud.config.server.native.search-locations=classpath:/shared
去掉 server.address=localhost 即可,在 build docker 鏡像,然後啟動容器。可以正常獲取證書
iMac:config neo$ openssl s_client -connect localhost:8888
CONNECTED(00000005)
depth=0 C = CN, ST = Shenzhen, L = Guangdong, O = netkiller.cn, OU = netkiller, CN = localhost
verify error:num=18:self signed certificate
verify return:1
depth=0 C = CN, ST = Shenzhen, L = Guangdong, O = netkiller.cn, OU = netkiller, CN = localhost
verify return:1
---
Certificate chain
0 s:/C=CN/ST=Shenzhen/L=Guangdong/O=netkiller.cn/OU=netkiller/CN=localhost
i:/C=CN/ST=Shenzhen/L=Guangdong/O=netkiller.cn/OU=netkiller/CN=localhost
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDijCCAnKgAwIBAgIJAP/SjXit0rVsMA0GCSqGSIb3DQEBCwUAMHMxCzAJBgNV
BAYTAkNOMREwDwYDVQQIEwhTaGVuemhlbjESMBAGA1UEBxMJR3Vhbmdkb25nMRUw
EwYDVQQKEwxuZXRraWxsZXIuY24xEjAQBgNVBAsTCW5ldGtpbGxlcjESMBAGA1UE
AxMJbG9jYWxob3N0MB4XDTIwMDkwNzA4NTUzOVoXDTIwMTIwNjA4NTUzOVowczEL
MAkGA1UEBhMCQ04xETAPBgNVBAgTCFNoZW56aGVuMRIwEAYDVQQHEwlHdWFuZ2Rv
bmcxFTATBgNVBAoTDG5ldGtpbGxlci5jbjESMBAGA1UECxMJbmV0a2lsbGVyMRIw
EAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCTZUtf/siYQr3MBstphQsBceRxvflDm2C4ztZ8OemDzH2avhI7edD6rzrJQ0V2
1n1XlTRgwoYqoTgeIdQ1DbzgrCliBYy+3E9vcp8WWzYz9o2YZRphYUr37iWonP+b
ZkLqzmRLuASRNZ8sBrwD7Mvs5IXfJZQ8wruO0V4oJQ5NOzcxDmbA0WGJn/0QZDKN
/tR7Rw3g9B96fFYGI/T7g4nuteEiUqQ9GJ1gx3utBd31Z1m8cV59ZsWd+Y2P14LO
W+YxkpB56OZKWWr1ExxQdZmLIME+D0d40M8At6rCAvclMKa7dva6+ZRxPlizVkQS
L4JNT1WOMtVaUUhFX5xlhsBtAgMBAAGjITAfMB0GA1UdDgQWBBROMJrswZ37wsxV
sm0N9AHOE8ZiODANBgkqhkiG9w0BAQsFAAOCAQEAPIgc6ZcQueQTEym36gx2IRWT
wLVQEabyS4/xeu89aRfbGDOavBajNwStqGdWUE8PRb95bhfvziZ61c6gBO9IE23j
GOmIQTW5RvZL6HLJgqR3LngZUiV/Ugwuno5Uo8IN25duq993tNmdCG8YeBtfuy/j
OFRrn96OT/Trj04NfYmC7nqBThyNmLPY5Oeo0XkhIAqqcLJE8/SJ9zd16vmgVhPM
UlsFJcZoL1uhbNXQuLPv8id8tntH+Lli39RVwd56CgTW7k9YFfFNV0mCeWBsAYl3
74R8l4ClV15o31wH/qPLg0F6uE/M/xsz56WIu2e5Oa30issz0DjYrG9GiQ2kDA==
-----END CERTIFICATE-----
subject=/C=CN/ST=Shenzhen/L=Guangdong/O=netkiller.cn/OU=netkiller/CN=localhost
issuer=/C=CN/ST=Shenzhen/L=Guangdong/O=netkiller.cn/OU=netkiller/CN=localhost
---
No client certificate CA names sent
---
SSL handshake has read 2631 bytes and written 512 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: 856BA1E0CFE8AC65AEC838C0A4DA0503C7A05F0BA803B127D3B1EBBB8FF1A344
Session-ID-ctx:
Master-Key: 2DCA2747330C8008958B1A4F3EF340044FE69455EA730DA0E30DF97A13E6EB7BCABDFDF5CA0FA5B278701EA25D694CAB
TLS session ticket lifetime hint: 86400 (seconds)
TLS session ticket:
0000 - 93 c1 d2 63 4d ef 37 a9-47 d1 72 2e ee 07 5a e2 ...cM.7.G.r...Z.
0010 - b7 40 aa 89 db 70 64 88-86 ad 65 2e e9 f8 2a de .@...pd...e...*.
0020 - 02 03 7f d3 5d 22 c2 e1-48 5a 43 59 7d 0f ef cc ....]"..HZCY}...
0030 - cc fa 08 f9 bd 23 70 bb-82 8b d8 29 c8 42 e8 ed .....#p....).B..
0040 - 12 6d ae 99 c8 74 c0 87-d9 a0 c0 27 ae 92 d9 71 .m...t.....'...q
0050 - ab 14 da d1 c6 9f 6f ba-7b 2f 6a 39 af c3 81 09 ......o.{/j9....
0060 - bd 8a ac 55 d0 9f e4 32-d7 a6 1f 10 29 0d 07 f0 ...U...2....)...
0070 - 09 d2 54 35 a8 d5 9e 9c-e1 5b 7b dd cc de eb 2a ..T5.....[{....*
0080 - 94 f9 56 41 df 14 85 37-b3 c1 28 be fe 1b ae 64 ..VA...7..(....d
0090 - 68 c9 b3 12 8b 78 28 d4-16 f3 28 3e 0e c3 e2 e3 h....x(...(>....
00a0 - 0d d5 42 46 37 3a 62 11-38 d4 68 59 77 01 2f 12 ..BF7:b.8.hYw./.
00b0 - 29 b1 3f ab 3d c2 0b be-f0 df 87 43 ae 89 99 35 ).?.=......C...5
00c0 - 19 eb fc 00 38 fa cc 5e-bb 0c 81 7f ae ee 8f 0e ....8..^........
00d0 - c5 82 00 4f bc f4 c6 a7-b0 3e 27 a8 0a 7e 57 a0 ...O.....>'..~W.
00e0 - b8 c9 4a 04 49 61 db 62-cd bc a2 3d c4 32 a0 74 ..J.Ia.b...=.2.t
00f0 - 11 0a ee c0 99 58 7a ce-99 30 7f a2 90 a0 50 30 .....Xz..0....P0
0100 - fe df 5e 57 d5 e3 fb 6f-20 64 eb 8e ef da 95 6b ..^W...o d.....k
0110 - 5c 20 38 62 75 5b d0 b6-4a 38 12 4b 8e be 6c 03 \ 8bu[..J8.K..l.
0120 - 14 b1 e9 05 cf b7 8c 12-e4 b6 2e 84 c3 14 57 4b ..............WK
0130 - 56 a6 47 f6 2f 06 81 12-a5 d8 88 8e 2f dd 40 43 V.G./......./.@C
0140 - 31 c3 0b 85 7d 26 ef b2-4d 9d aa 40 f4 e4 1c bd 1...}&..M..@....
0150 - 03 8e 61 b6 da d0 05 49-32 7a 26 44 7c 8e 69 c5 ..a....I2z&D|.i.
0160 - 9c 41 30 e3 0f 08 8f 57-1e 70 13 ff c2 cc f2 53 .A0....W.p.....S
0170 - 44 ed d2 9f c0 1c 5a 49-1a e3 88 94 84 15 7d c1 D.....ZI......}.
0180 - a7 e5 fc 39 70 92 c1 6f-77 64 dc 93 aa af 81 ad ...9p..owd......
0190 - 64 50 c6 f9 3e da 4f 62-60 21 df 78 98 ca 78 6e dP..>.Ob`!.x..xn
01a0 - d0 43 14 12 54 ae 4b e0-f4 4b 70 06 1e 26 6a 17 .C..T.K..Kp..&j.
01b0 - af b2 7c 76 75 ce 4f 60-79 5d a8 4d 8f e7 22 75 ..|vu.O`y].M.."u
01c0 - 5b 65 db 42 5e b5 c0 05-9e ef f1 38 e4 e8 b0 a2 [e.B^......8....
01d0 - 89 60 fa 43 18 e3 89 e9-4d d2 52 87 8c a3 73 16 .`.C....M.R...s.
01e0 - f6 9b d4 0f 72 b3 22 e1-86 87 b1 85 c4 b0 b6 36 ....r."........6
01f0 - 1f 83 1f 87 76 28 20 9f-64 ca f0 1e 11 da 0b bf ....v( .d.......
0200 - 75 df a9 77 48 84 6d a1-5e 2d 3c f7 d6 df 3e d8 u..wH.m.^-<...>.
0210 - 6e 18 6f 53 eb c1 86 9e-cb a8 e1 19 e7 f4 5c b9 n.oS..........\.
0220 - 58 c9 d4 38 b1 4a 3b ff-a0 16 34 2f 69 67 28 b4 X..8.J;...4/ig(.
0230 - e9 72 f8 97 75 6d a0 15-5c 16 cf 28 33 2f c1 37 .r..um..\..(3/.7
0240 - ca 09 07 2b 5f 5f e7 6b-94 19 9c 95 5c 2c d1 54 ...+__.k....\,.T
0250 - 69 3f cd d5 63 9f 75 6c-26 53 cd 57 3a 9b 7b 02 i?..c.ul&S.W:.{.
0260 - 6e 79 5c e5 36 9d 90 1a-d2 8a 0b b2 6f 03 5a fd ny\.6.......o.Z.
0270 - b0 3b d1 b8 68 be 1f 99-05 e2 52 a5 96 99 bd bf .;..h.....R.....
0280 - bd 84 06 b9 ed fb bb 2e-fd 9b 14 1b ca 7c 07 eb .............|..
0290 - a6 ff 07 ce d3 6b 48 26-b2 f0 67 c2 96 6d 4b 00 .....kH&..g..mK.
02a0 - 77 d3 59 e0 fc 48 19 29-23 1a 9a 30 b6 3f 2a 12 w.Y..H.)#..0.?*.
02b0 - 80 b4 f7 5e 33 85 42 da-c2 b9 42 dd 30 73 f1 15 ...^3.B...B.0s..
02c0 - f2 16 49 f7 24 39 77 61-e4 90 7c 32 f1 e9 0e fb ..I.$9wa..|2....
02d0 - 7b a7 02 db 91 3a 16 8c-85 d2 2a 38 ad 3c a8 a9 {....:....*8.<..
02e0 - 0b a8 3f 5b 49 92 de 45-41 74 60 dd 41 66 8f ac ..?[I..EAt`.Af..
02f0 - d2 23 60 25 99 6f 73 8b-8c f1 88 6c 67 36 b7 e0 .#`%.os....lg6..
0300 - 60 d1 2a 77 b4 3e 29 bb-90 dc 7f f2 30 2e e7 de `.*w.>).....0...
0310 - dd 48 f6 dc 59 30 89 fe-1f 90 ac a6 10 42 96 ab .H..Y0.......B..
0320 - a7 84 34 2c 2e 54 d1 1b-65 48 a9 47 63 3f ff 2a ..4,.T..eH.Gc?.*
0330 - a1 66 b7 6d d6 f7 d3 11-d3 6a 21 33 a4 99 5c a4 .f.m.....j!3..\.
0340 - e3 a1 b8 5a 1b 7a d9 45-89 fa 12 ee 5f 5b 69 6e ...Z.z.E...._[in
0350 - 7b 77 ba c9 3a 3c 09 b0-db 16 ad ac 66 6e 36 5a {w..:<......fn6Z
0360 - 48 c9 9a e7 6c a7 2f 10-31 33 9c 3f e1 18 9c af H...l./.13.?....
0370 - dc a1 f9 26 50 2a 66 e8-62 da fb 51 ad dc d6 72 ...&P*f.b..Q...r
0380 - ca 53 4c 7b 72 e6 2b ee-f9 fd 97 f3 c4 67 dc c6 .SL{r.+......g..
0390 - f1 38 d1 58 d5 df 02 a5-1c f0 3d 5b 6d 01 be ff .8.X......=[m...
03a0 - a7 d1 0b 68 04 22 2b ab-ee a6 0a c3 98 80 04 bf ...h."+.........
03b0 - 99 8b 9b 67 6e d3 fc 25-ab 87 01 74 8c 29 c8 8b ...gn..%...t.)..
03c0 - 10 f0 b5 24 a9 71 e9 66-a4 65 cf a8 ee 2f ab 4c ...$.q.f.e.../.L
03d0 - 0a c0 08 87 1e 34 84 c1-a6 fe 7b 55 42 bb b2 0c .....4....{UB...
03e0 - 46 c4 1a 77 df cb 9c 8f-9f de 9d 57 8a 5c e1 12 F..w.......W.\..
03f0 - 43 8e f3 fe 09 63 7f 47-c0 31 bc 51 f1 59 2e fb C....c.G.1.Q.Y..
0400 - 89 f7 16 99 20 eb 52 e3-5f 11 70 4a c4 9e 19 5d .... .R._.pJ...]
0410 - 29 11 23 f6 9b f9 d1 2f-6c f9 55 54 53 c5 65 6a ).#..../l.UTS.ej
0420 - c7 b0 26 cc 42 b6 8d c3-19 d8 f0 57 7d 55 59 65 ..&.B......W}UYe
0430 - 6c 39 8c a0 69 51 d2 3d-d4 d4 71 c5 7f 6e eb f3 l9..iQ.=..q..n..
0440 - 46 45 2a 73 a6 1c cb ec-47 35 13 05 81 53 02 6f FE*s....G5...S.o
0450 - f1 ae 8c 27 a2 b7 05 0d-e3 f9 20 46 1d 4a d6 ce ...'...... F.J..
0460 - b6 19 72 0f 3f 60 1e 65-57 5c 55 a3 b5 4d f1 05 ..r.?`.eW\U..M..
0470 - 2b 41 a2 47 2e a9 63 42-be 37 e1 d2 28 92 +A.G..cB.7..(.
Start Time: 1600656460
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
closed
工作正常
iMac:config neo$ curl -k -i https://config:s3cr3t@192.168.3.85:8888/netkiller-dev.json
HTTP/2 200
set-cookie: JSESSIONID=75D0C2900D87C789DF596220FA77012D; Path=/; Secure; HttpOnly
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: 0
strict-transport-security: max-age=31536000 ; includeSubDomains
x-frame-options: DENY
content-type: application/json
content-length: 100
date: Mon, 21 Sep 2020 02:51:11 GMT
{"sms":{"gateway":{"url":"https://sms.netkiller.cn/v1","username":"netkiller","password":"123456"}}}