-
Notifications
You must be signed in to change notification settings - Fork 214
/
README
148 lines (121 loc) · 7.71 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#################### Delpoy as Host App
cd /opt/java/workspace/xproject
mvn clean
mvn package
ps -ef | grep java | grep 1.0.0-RELEASE.jar | awk -F' ' '{ print $2 }' | xargs kill -9
# support-service: config-server
source bootstrap.rc && java -jar support/config-server/target/config-server-1.0.0-RELEASE.jar
# http://localhost:7001/service-test01/default/1.0.0
# support-service: auth-server
source bootstrap.rc && java -jar support/auth-server/target/auth-server-1.0.0-RELEASE.jar
http://localhost:9999/uaa/oauth/authorize?response_type=code&client_id=acme&redirect_uri=http://example.com&scope=webshop&state=97536
https://www.xproject.com:9999/uaa/oauth/authorize?response_type=code&client_id=acme&redirect_uri=http://example.com&scope=webshop&state=97536
curl acme:acmesecret@localhost:9999/uaa/oauth/token \
-d grant_type=authorization_code \
-d client_id=acme \
-d redirect_uri=http://example.com \
-d code=$CODE -s | jq .
curl https://acme:[email protected]:9999/uaa/oauth/token \
-d grant_type=authorization_code \
-d client_id=acme \
-d redirect_uri=http://example.com \
-d code=$CODE -ks | jq .
curl "http://localhost:9999/uaa/user" -H "Authorization: Bearer $TOKEN" -s | jq .
curl "https://www.xproject.com:9999/uaa/user" -H "Authorization: Bearer $TOKEN" -ks | jq .
# support-service: eureka01
source bootstrap.rc && SPRING_CLOUD_CONFIG_PROFILE=${EUREKA_SERVER01} java -jar support/eureka-server/target/eureka-server-1.0.0-RELEASE.jar
# support-service: eureka02
source bootstrap.rc && SPRING_CLOUD_CONFIG_PROFILE=${EUREKA_SERVER02} java -jar support/eureka-server/target/eureka-server-1.0.0-RELEASE.jar
# support-service: zuul
source bootstrap.rc && java -jar support/zuul-server/target/zuul-server-1.0.0-RELEASE.jar
# support-service: turbine-server(optional, need to delete composite-service spring-cloud-netflix-hystrix-amqp && amqp config)
source bootstrap.rc && java -jar support/turbine-server/target/turbine-server-1.0.0-RELEASE.jar
# support-service: hystrix-dashboard(optional)
source bootstrap.rc && java -jar support/hystrix-dashboard/target/hystrix-dashboard-1.0.0-RELEASE.jar
# http://localhost:8088/hystrix
# http://turbine-server:8989/turbine.stream
# core-service: product-service
source bootstrap.rc && java -jar core/product-service/target/product-service-1.0.0-RELEASE.jar
# core-service: review-service
source bootstrap.rc && java -jar core/review-service/target/review-service-1.0.0-RELEASE.jar
# composite-service: product-composite-service
source bootstrap.rc && java -jar composite/product-composite-service/target/product-composite-service-1.0.0-RELEASE.jar
# http://localhost:5555/api/product-composite-service/product-test
# http://localhost:5555/api/product-composite-service/product-composite
# api-service: product-api-service
source bootstrap.rc && java -jar api/product-api-service/target/product-api-service-1.0.0-RELEASE.jar
# http://localhost:5555/api/product-api-service/product-api-test
# http://localhost:5555/api/product-api-service/product-api-composite
# test-api
# curl "http://localhost:5555/api/product-api-service/product-api-composite" -H "Authorization: Bearer $TOKEN" -s | jq .
curl "https://www.xproject.com:5555/api/product-api-service/product-api-composite" -H "Authorization: Bearer $TOKEN" -ks | jq .
# curl "http://localhost:5555/api/product-api-service/product-api-test" -H "Authorization: Bearer $TOKEN" -s | jq .
curl "https://www.xproject.com:5555/api/product-api-service/product-api-test" -H "Authorization: Bearer $TOKEN" -ks | jq .
#################### Delpoy as Docker App
docker images | grep xproject | awk -F' ' '{ print $3 }' | xargs docker rmi -f
docker rmi $(docker images -qa --filter=reference='xproject/*/*:*1.0.0-RELEASE')
unset JAVA_TOOL_OPTIONS
mvn clean
mvn package docker:build
docker rmi $(docker images -qa -f dangling=true)
docker volume rm $(docker volume ls -qf dangling=true)
rm -rf /var/lib/docker/aufs/diff/*-removing
source bootstrap.rc
docker-compose rm -sf
docker-compose up -d
docker-compose ps
docker-compose up --scale product-service=2
# http://www.blogjava.net/icewee/archive/2012/06/04/379947.html
keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore server.keystore -dname "CN=www.xproject.com, OU=XPROJECT, O=XPROJECT, L=WuHan, ST=HuBei, C=CN" -storepass passw0rd -keypass passw0rd
#keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore server.keystore \
# -dname "CN=localhost, OU=XPROJECT, O=XPROJECT, L=WuHan, ST=HuBei, C=CN" -storepass passw0rd -keypass passw0rd
keytool -export -v -alias server -keystore server.keystore -storepass passw0rd -rfc -file server.cer
keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -dname "CN=www.xproject.com, OU=XPROJECT, O=XPROJECT, L=WuHan, ST=HuBei, C=CN" -storepass passw0rd -keypass passw0rd
keytool -export -v -alias client -keystore client.p12 -storetype PKCS12 -storepass passw0rd -rfc -file client.cer
keytool -import -v -alias server -file server.cer -keystore client.truststore -storepass passw0rd -noprompt
keytool -import -v -alias client -file client.cer -keystore server.keystore -storepass passw0rd -noprompt
keytool -list -keystore server.keystore -storepass passw0rd
# JWT
# http://blog.csdn.net/zhao1949/article/details/68064984
# http://www.jianshu.com/p/6307c89fe3fa
# https://github.com/Baeldung/spring-security-oauth/
# https://github.com/junneyang/spring-cloud-security-oauth2-jwt
keytool -genkeypair -alias jwtstote -keyalg RSA -keypass passw0rd -keystore jwtkeystore.jks -dname "CN=www.xproject.com, OU=XPROJECT, O=XPROJECT, L=WuHan, ST=HuBei, C=CN" -storepass passw0rd
keytool -list -rfc --keystore jwtkeystore.jks | openssl x509 -inform pem -pubkey
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg8Duclg0/nXNSGWLi6al
9baMmwSKeO1cO2UM+ZS/85GYF7oqjh5bg8ibKf11uSnDD1eo/TPgpY+Zcw3HLQxS
WEzsR+1mtw3cRzH5Xu7YNDzAFa3XswMtd75eaIH3WnjuWDMdOtkunm0hqesFASeK
QVPDYH5aC/rMWc9MVzKtx0PE8YeDpJGe396nnZFJa1a6HdJg39ZL0SwMPFtG5CTA
Q5G9rSU6SWx5OXVpZlgv9TxU5GGCTPDa8BafvrfFCrLiVZhjU5wQZ+26JBTz4Kt5
r3nzNGlSSFRTBD4M8/gSU1q279uCi1/mR61IgFxd8YAgnTIbjQXN9euWKQLmBp8h
qwIDAQAB
-----END PUBLIC KEY-----
-----BEGIN CERTIFICATE-----
MIIDezCCAmOgAwIBAgIEAUV+7jANBgkqhkiG9w0BAQsFADBuMQswCQYDVQQGEwJD
TjEOMAwGA1UECBMFSHVCZWkxDjAMBgNVBAcTBVd1SGFuMREwDwYDVQQKEwhYUFJP
SkVDVDERMA8GA1UECxMIWFBST0pFQ1QxGTAXBgNVBAMTEHd3dy54cHJvamVjdC5j
b20wHhcNMTcwOTA1MTAwOTA1WhcNMTcxMjA0MTAwOTA1WjBuMQswCQYDVQQGEwJD
TjEOMAwGA1UECBMFSHVCZWkxDjAMBgNVBAcTBVd1SGFuMREwDwYDVQQKEwhYUFJP
SkVDVDERMA8GA1UECxMIWFBST0pFQ1QxGTAXBgNVBAMTEHd3dy54cHJvamVjdC5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCDwO5yWDT+dc1IZYuL
pqX1toybBIp47Vw7ZQz5lL/zkZgXuiqOHluDyJsp/XW5KcMPV6j9M+Clj5lzDcct
DFJYTOxH7Wa3DdxHMfle7tg0PMAVrdezAy13vl5ogfdaeO5YMx062S6ebSGp6wUB
J4pBU8NgfloL+sxZz0xXMq3HQ8Txh4OkkZ7f3qedkUlrVrod0mDf1kvRLAw8W0bk
JMBDkb2tJTpJbHk5dWlmWC/1PFTkYYJM8NrwFp++t8UKsuJVmGNTnBBn7bokFPPg
q3mvefM0aVJIVFMEPgzz+BJTWrbv24KLX+ZHrUiAXF3xgCCdMhuNBc3165YpAuYG
nyGrAgMBAAGjITAfMB0GA1UdDgQWBBSqgHn0egrll8owOJG9UWONjI2kmDANBgkq
hkiG9w0BAQsFAAOCAQEADeM4X3EMxvlMKLe9geyLbLHjnGil6jV1GJA0ea/MvkVt
dJ0K6jHYkS7NsjP/vguforg+3pGi734Gj2107DvB/revKeqkUl0TV3g22toTY3gX
jG0FX4QBzQfKMUuzBlkJs5QavoeI91zKibL1/GKhZ6UPs927PYvrPT4xfo+ov7Qw
CZt2NBiO/Ga1WvXE6bQVlxKqUlEe8/wMWnJ3KXocBLEYUI7UqFLJlprmW+jRV8MN
mch1pnEOixSCx7waem7MV7Ws7IA4PCxih0L5vx10IemAgEnsbGZhh7O+1+IEFVwC
/fuGwdfJHPXrLG0lWmThdHGFqHYbYjheZTLo2u6gcA==
-----END CERTIFICATE-----
# Ref: MicroService Framework
# http://blog.csdn.net/showgood119/article/details/55510685
# https://www.zhihu.com/question/50806354
# http://blog.csdn.net/qq_32971807/article/details/54693254
# https://segmentfault.com/p/1210000008728111
# https://github.com/yidongnan/grpc-spring-boot-starter/tree/master/examples
# https://fuxiaopang.gitbooks.io/learnelasticsearch/getting_started/tutorial_conclusion.html