0% ont trouvé ce document utile (0 vote)
9 vues5 pages

Guide d'installation et déploiement Java

Transféré par

Mouhamed Gueye
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues5 pages

Guide d'installation et déploiement Java

Transféré par

Mouhamed Gueye
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Guide d'installation

Prérequis
Java 17
Nginx
Openssl

Livrable java :

Structure

```markdown
├── ms-name
│ ├── config
│ │ ├── [Link]
| | ├── cn.p12
| | ├── [Link]
├── [Link]
├── [Link]
└── logs
```

Description

[Link] fichier de configuration microservice tel que la base de données FIA etc.
cn.p12 keystore qui contient le certificat et sa clé privée
[Link] contient les certificats d’autres micro-services autorisés à appeler le microservice
[Link] bash script qui redémarre ms
logs ce dossier est généré lors de la génération des logs par ms , la rotation et la compression est configuré par le ms

Premier Installation

Mettre le livrable dans le dossier /app

Modifier les accès à la base de données en fonction de l’environnement .

spring:
datasource:
url: jdbc:postgresql://ip_base:port/database_name?currentSchema=schema
username: username
password: password

Modifier l'adresse du service Discovery Eureka

eureka:
client:
service-url:
defaultZone: [Link]
enabled: true

Modifier les adresses des AIFs s’ils existent dans la conf :

mt:
....
....
subsidiaries:
'00034':
baseUrl: [Link]
....
....
'CI007':
baseUrl: [Link]
....
....

Modifier le trust store et le key store voir la section génération de certificat


lancer le script [Link]

Redéploiement d'une nouvelle version

cd /app/ms-name
mv [Link] [Link]
mv /tmp/[Link] .
./[Link]

S’il y a des changements dans le fichier [Link] , les différences seront communiquées.

NB : il faut remplacer la manière de lancer les jars par un service système ou bien init.d script

Génération des certificats

Micro services :

Root:

openssl req -x509 -sha256 -days 3650 -newkey rsa:4096 -keyout [Link] -out [Link]

Pour chaque micro service :

[Link] :

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext

[v3_req]
subjectAltName = @alt_names

[dn]
C = MA
O = ATTIJARI IT AFRICA
OU = OBF
CN = MS-NAME

[req_ext]
subjectAltName = @alt_names

[alt_names]
IP.1 = IP_1

Mettre dans le CN le nom du micro service Mettre dans le IP._1 l'adresse ip de la machine qui héberge le ms

Génération du CSR

openssl req -new -config [Link] -newkey rsa:4096 -keyout [Link] -out [Link]

Génération du CRT

openssl x509 -req -CA [Link] -CAkey [Link] -in [Link] -out [Link] -days 365 -CAcreateserial -extfile [Link] -extensions v3_req

Génération du Keystore

openssl pkcs12 -export -out cn.p12 -name "cn" -inkey [Link] -in [Link]

Génération du truststore :

ce trust store sera partagé entre tous les micro-services s'il contient le certificat racine (root cert) , sinon chaque ms aura son propre trust store contenant les
certificats autorisés
keytool -importcert -file [Link] -keystore [Link] -alias root-ca

Paramétrage du keystore et truststore au niveau du livrable java

il faut changer le fichier /app/ms-name/config/[Link] par :

server:
port: 9210
ssl:
enabled: true
key-store: 'chemin absolue du keystore'
key-alias: "alias de l'entré dans le keystore "
key-store-password: 'keystore password'
key-password: 'private key password'
trust-store: 'chemin absolue du trust store'
trust-store-password: 'truststore password'
client-auth: need

NB : pour la Gateway et le BFF il faut enlever la propriété client-auth

Livrable application backoffice front

Structure

```
├── build
│ ├── static
│ │ ├── css
| | ├── js
| | ├── media
├── [Link]
└── [Link]
```

Déploiement

mv /usr/share/nginx/html/build /usr/share/nginx/html/build_old
mv /tmp/build /usr/share/nginx/html

Nginx conf

http {
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 /var/log/nginx/[Link] main;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 50M;

include /etc/nginx/[Link];
default_type application/octet-stream;

include /etc/nginx/conf.d/*.conf;

server {
server {
listen 9206 default_server ssl;
# listen [::]:80 default_server;
server_name _;

proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_ssl_verify off;

ssl on;
ssl_certificate /etc/nginx/ssl/[Link];
ssl_certificate_key /etc/nginx/ssl/[Link];
ssl_password_file /etc/nginx/ssl/passphrase;
root /usr/share/nginx/html/build; # livrable front

proxy_set_header X-Real-IP $remote_addr;


proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Host $http_host;
proxy_ssl_verify off;

location /login {
proxy_pass [Link] # BFF
}

location /oauth2 {
proxy_pass [Link] # BFF
}

location /logout {
proxy_pass [Link] # BFF
}

location /auth {
proxy_pass [Link] # keycloak
#proxy_redirect off;
}

location /api {

proxy_pass [Link] # BFF


}

location ^~ / {

try_files $uri $uri/ /[Link];


}

# Load configuration files for the default server block.


include /etc/nginx/default.d/*.conf;

error_page 404 /[Link];


location = /[Link] {
}

error_page 500 502 503 504 /[Link];


location = /[Link] {
}
}

Vous aimerez peut-être aussi