From 828318502255d1268fbc75f3518ca321664c303a Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Wed, 24 Sep 2025 18:06:10 +0200 Subject: [PATCH] feat(scripts): add nginx conf backup and commit backups\n\nci: docker_tag=ext\n\nBackup local and project nginx configs into backups/nginx//; include tarball. Ensure reproducible archives for audit. --- .env.bak.1758716763 | 64 ++ backups/nginx/20250924-180551.tar.gz | Bin 0 -> 12868 bytes .../local_etc_nginx/conf.d/default.conf | 44 + .../local_etc_nginx/fastcgi.conf | 27 + .../local_etc_nginx/fastcgi_params | 25 + .../20250924-180551/local_etc_nginx/koi-utf | 109 +++ .../20250924-180551/local_etc_nginx/koi-win | 103 ++ .../local_etc_nginx/mime.types | 99 ++ .../20250924-180551/local_etc_nginx/modules | 1 + .../50-mod-http-geoip.conf.removed | 1 + .../50-mod-http-image-filter.conf.removed | 1 + .../50-mod-http-xslt-filter.conf.removed | 1 + .../modules-enabled/50-mod-mail.conf.removed | 1 + .../50-mod-stream.conf.removed | 1 + .../70-mod-stream-geoip.conf.removed | 1 + .../local_etc_nginx/nginx.conf | 34 + .../nginx.conf.bak-2025-09-23-151031 | 33 + .../nginx.conf.bak-2025-09-23-151432 | 34 + .../nginx.conf.bak-2025-09-23-151838 | 35 + .../local_etc_nginx/proxy_params | 4 + .../local_etc_nginx/scgi_params | 17 + .../sites-available/demo.4nkweb.com | 100 ++ .../sites-available/dev1.4nkweb.com | 60 ++ .../sites-available/dev2.4nkweb.com | 60 ++ .../sites-available/dev3.4nkweb.com | 162 ++++ .../dev3.4nkweb.com.bak.2025-09-23-095706 | 105 +++ .../dev3.4nkweb.com.bak.2025-09-23-095909 | 105 +++ .../dev3.4nkweb.com.bak.2025-09-23-100249 | 105 +++ .../dev3.4nkweb.com.bak.20250922-214746 | 0 .../dev3.4nkweb.com.bak.20250922-214758 | 0 .../dev3.4nkweb.com.bak.20250922-214802 | 0 .../dev3.4nkweb.com.bak.20250922-214824 | 0 .../dev3.4nkweb.com.bak.20250922-215020 | 0 .../dev3.4nkweb.com.bak.20250922-215027 | 0 .../dev3.4nkweb.com.bak.20250922-215117 | 0 .../dev3.4nkweb.com.bak.20250922-215123 | 0 .../dev3.4nkweb.com.bak.20250922-215806 | 107 +++ .../lecoffreio-dev2.4nkweb.com | 37 + .../sites-available/lecoffreio.4nkweb.com | 65 ++ .../sites-available/local.4nkweb.com-3000 | 8 + .../sites-available/local.4nkweb.com-3000-ssl | 11 + ....4nkweb.com-3000-ssl.bak-2025-09-23-151115 | 11 + ....4nkweb.com-3000-ssl.bak-2025-09-23-151628 | 11 + .../local.4nkweb.com-3000-ssl.bak-20250923 | 20 + ....4nkweb.com-3000-ssl.bak.2025-09-23-150811 | 12 + .../sites-available/local.4nkweb.com-3000.bak | 7 + ...ocal.4nkweb.com-3000.bak-2025-09-23-151054 | 8 + ...ocal.4nkweb.com-3000.bak-2025-09-23-151523 | 8 + ...ocal.4nkweb.com-3000.bak-2025-09-23-151529 | 8 + .../local.4nkweb.com-3000.bak-20250923 | 13 + ...ocal.4nkweb.com-3000.bak.2025-09-23-150734 | 8 + .../local.lecoffreio.4nkweb.com | 7 + .../local.lecoffreio.4nkweb.com.bak | 7 + ....lecoffreio.4nkweb.com.bak.20250922-223714 | 7 + ....lecoffreio.4nkweb.com.bak.20250922-223836 | 7 + ....lecoffreio.4nkweb.com.bak.20250922-224059 | 7 + .../sites-available/relay235.4nkweb.com | 28 + .../sites-enabled/demo.4nkweb.com | 1 + .../sites-enabled/dev1.4nkweb.com | 1 + .../sites-enabled/dev2.4nkweb.com | 1 + .../sites-enabled/dev3.4nkweb.com | 162 ++++ .../sites-enabled/lecoffreio-dev2.4nkweb.com | 1 + .../sites-enabled/lecoffreio.4nkweb.com | 1 + .../sites-enabled/local.4nkweb.com-3001 | 1 + .../sites-enabled/local.lecoffreio.4nkweb.com | 7 + .../sites-enabled/relay235.4nkweb.com | 1 + .../local_etc_nginx/snippets/fastcgi-php.conf | 13 + .../local_etc_nginx/snippets/snakeoil.conf | 5 + .../stream.d/3000-multiplex.conf | 11 + .../local_etc_nginx/uwsgi_params | 17 + .../20250924-180551/local_etc_nginx/win-utf | 125 +++ .../project/dev3.4nkweb.com.conf | 162 ++++ .../project/dev3.4nkweb.com.fixed.conf | 176 ++++ .../project/dev3.4nkweb.com.fixed.conf.b64 | 45 + .../project/local.4nkweb.com-3000.conf | 7 + .../project/local.lecoffreio.4nkweb.com.conf | 7 + logs/backend.out | 883 ++++++++++++++++++ logs/restart.out | 710 ++++++++++++++ logs/server.pid | 1 + scripts/backup_nginx_confs.sh | 26 + 80 files changed, 4093 insertions(+) create mode 100644 .env.bak.1758716763 create mode 100644 backups/nginx/20250924-180551.tar.gz create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/conf.d/default.conf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/fastcgi.conf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/fastcgi_params create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/koi-utf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/koi-win create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/mime.types create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-geoip.conf.removed create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-image-filter.conf.removed create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-xslt-filter.conf.removed create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-mail.conf.removed create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-stream.conf.removed create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/70-mod-stream-geoip.conf.removed create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/nginx.conf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151031 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151432 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151838 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/proxy_params create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/scgi_params create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/demo.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev1.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev2.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095706 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095909 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-100249 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214746 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214758 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214802 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214824 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215020 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215027 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215117 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215123 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215806 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio-dev2.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151115 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151628 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-20250923 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak.2025-09-23-150811 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151054 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151523 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151529 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-20250923 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak.2025-09-23-150734 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223714 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223836 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-224059 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-available/relay235.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/demo.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev1.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev2.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev3.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio-dev2.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.4nkweb.com-3001 create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.lecoffreio.4nkweb.com create mode 120000 backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/relay235.4nkweb.com create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/snippets/fastcgi-php.conf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/snippets/snakeoil.conf create mode 100644 backups/nginx/20250924-180551/local_etc_nginx/stream.d/3000-multiplex.conf create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/uwsgi_params create mode 100755 backups/nginx/20250924-180551/local_etc_nginx/win-utf create mode 100644 backups/nginx/20250924-180551/project/dev3.4nkweb.com.conf create mode 100644 backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf create mode 100644 backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf.b64 create mode 100644 backups/nginx/20250924-180551/project/local.4nkweb.com-3000.conf create mode 100644 backups/nginx/20250924-180551/project/local.lecoffreio.4nkweb.com.conf create mode 100644 logs/restart.out create mode 100644 logs/server.pid create mode 100755 scripts/backup_nginx_confs.sh diff --git a/.env.bak.1758716763 b/.env.bak.1758716763 new file mode 100644 index 0000000..d6af546 --- /dev/null +++ b/.env.bak.1758716763 @@ -0,0 +1,64 @@ +# Configuration OVH +OVH_APP_KEY=5ab0709bbb65ef26 +OVH_APP_SECRET=de1fac1779d707d263a611a557cd5766 +OVH_CONSUMER_KEY=5fe817829b8a9c780cfa2354f8312ece +OVH_SMS_SERVICE_NAME=sms-tt802880-1 + +# Configuration SMS Factor +SMS_FACTOR_TOKEN=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI4NzgzNiIsImlhdCI6MTcwMTMzOTY1Mi45NDUzOH0.GNoqLb5MDBWuniNlQjbr1PKolwxGqBZe_tf4IMObvHw + +#Configuration Mailchimp +MAILCHIMP_API_KEY=md-VVfaml-ApIV4nsGgaJKl0A +MAILCHIMP_KEY=3fa54304bc766dfd0b8043a827b28a3a-us17 +MAILCHIMP_LIST_ID=a48d9ad852 + +#Configuration Stripe +STRIPE_SECRET_KEY=sk_test_51OwKmMP5xh1u9BqSeFpqw0Yr15hHtFsh0pvRGaE0VERhlYtvw33ND1qiGA6Dy1DPmmV61B6BqIimlhuv7bwElhjF00PLQwD60n +STRIPE_WEBHOOK_SECRET= +STRIPE_STANDARD_SUBSCRIPTION_PRICE_ID=price_1P66fuP5xh1u9BqSHj0O6Uy3 +STRIPE_STANDARD_ANNUAL_SUBSCRIPTION_PRICE_ID=price_1P9NsRP5xh1u9BqSFgkUDbQY +STRIPE_UNLIMITED_SUBSCRIPTION_PRICE_ID=price_1P66RqP5xh1u9BqSuUzkQNac +STRIPE_UNLIMITED_ANNUAL_SUBSCRIPTION_PRICE_ID=price_1P9NpKP5xh1u9BqSApFogvUB + +# Configuration serveur +APP_HOST=https://demo.4nkweb.com +PORT= + +# Configuration front-end +NEXT_PUBLIC_4NK_URL=https://demo.4nkweb.com +NEXT_PUBLIC_FRONT_APP_HOST=https://demo.4nkweb.com +NEXT_PUBLIC_IDNOT_BASE_URL=https://qual-connexion.idnot.fr +NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT=/IdPOAuth2/authorize/idnot_idp_v1 +NEXT_PUBLIC_BACK_API_PROTOCOL=http +NEXT_PUBLIC_BACK_API_HOST=localhost +BACK_API_PORT=8081 +BACK_API_ROOT_URL=/api +BACK_API_VERSION=/v1 + +# Configuration idnot +IDNOT_ANNUARY_BASE_URL='https://qual-api.notaires.fr/annuaire' +IDNOT_API_KEY='ba557f84-0bf6-4dbf-844f-df2767555e3e' + +# Configuration PostgreSQL +DB_HOST= +DB_PORT= +DB_NAME= +DB_USER= +DB_PASSWORD= + +# Variables IdNot manquantes pour l'authentification +IDNOT_API_BASE_URL='https://qual-api.notaires.fr' +IDNOT_REDIRECT_URI='https://lecoffreio.4nkweb.com/authorized-client' +IDNOT_TOKEN_URL='https://qual-connexion.idnot.fr/user/IdPOAuth2/token/idnot_idp_v1' + +IDNOT_API_KEY=ba557f84-0bf6-4dbf-844f-df2767555e3e +IDNOT_CLIENT_ID=B3CE56353EDB15A9 +IDNOT_CLIENT_SECRET=3F733549E879878344B6C949B366BB5CDBB2DB5B7F7AB7EBBEBB0F0DD0776D1C +NEXT_PUBLIC_IDNOT_CLIENT_ID=B3CE56353EDB15A9 +STATE_TTL_SECONDS=180 + + + +ALLOWED_REDIRECT_HOST_PATTERNS=^lecoffreio\.4nkweb\.com$ +ALLOW_LOCALHOST_REDIRECTS=false +BACK_HMAC_SECRET=7e0f4a8b7c9d3e2fb6c1a5d4e8f09b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f70 diff --git a/backups/nginx/20250924-180551.tar.gz b/backups/nginx/20250924-180551.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5785dff604d80bb23be3bc188eaa9e99746f90fa GIT binary patch literal 12868 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 utf8 map: it does not contain +# box-drawing and some other characters. Besides this map contains +# several koi8-u and Byelorussian letters which are not in koi8-r. +# If you need a full and standard map, use contrib/unicode2nginx/koi-utf +# map instead. + +charset_map koi8-r utf-8 { + + 80 E282AC ; # euro + + 95 E280A2 ; # bullet + + 9A C2A0 ; #   + + 9E C2B7 ; # · + + A3 D191 ; # small yo + A4 D194 ; # small Ukrainian ye + + A6 D196 ; # small Ukrainian i + A7 D197 ; # small Ukrainian yi + + AD D291 ; # small Ukrainian soft g + AE D19E ; # small Byelorussian short u + + B0 C2B0 ; # ° + + B3 D081 ; # capital YO + B4 D084 ; # capital Ukrainian YE + + B6 D086 ; # capital Ukrainian I + B7 D087 ; # capital Ukrainian YI + + B9 E28496 ; # numero sign + + BD D290 ; # capital Ukrainian soft G + BE D18E ; # capital Byelorussian short U + + BF C2A9 ; # (C) + + C0 D18E ; # small yu + C1 D0B0 ; # small a + C2 D0B1 ; # small b + C3 D186 ; # small ts + C4 D0B4 ; # small d + C5 D0B5 ; # small ye + C6 D184 ; # small f + C7 D0B3 ; # small g + C8 D185 ; # small kh + C9 D0B8 ; # small i + CA D0B9 ; # small j + CB D0BA ; # small k + CC D0BB ; # small l + CD D0BC ; # small m + CE D0BD ; # small n + CF D0BE ; # small o + + D0 D0BF ; # small p + D1 D18F ; # small ya + D2 D180 ; # small r + D3 D181 ; # small s + D4 D182 ; # small t + D5 D183 ; # small u + D6 D0B6 ; # small zh + D7 D0B2 ; # small v + D8 D18C ; # small soft sign + D9 D18B ; # small y + DA D0B7 ; # small z + DB D188 ; # small sh + DC D18D ; # small e + DD D189 ; # small shch + DE D187 ; # small ch + DF D18A ; # small hard sign + + E0 D0AE ; # capital YU + E1 D090 ; # capital A + E2 D091 ; # capital B + E3 D0A6 ; # capital TS + E4 D094 ; # capital D + E5 D095 ; # capital YE + E6 D0A4 ; # capital F + E7 D093 ; # capital G + E8 D0A5 ; # capital KH + E9 D098 ; # capital I + EA D099 ; # capital J + EB D09A ; # capital K + EC D09B ; # capital L + ED D09C ; # capital M + EE D09D ; # capital N + EF D09E ; # capital O + + F0 D09F ; # capital P + F1 D0AF ; # capital YA + F2 D0A0 ; # capital R + F3 D0A1 ; # capital S + F4 D0A2 ; # capital T + F5 D0A3 ; # capital U + F6 D096 ; # capital ZH + F7 D092 ; # capital V + F8 D0AC ; # capital soft sign + F9 D0AB ; # capital Y + FA D097 ; # capital Z + FB D0A8 ; # capital SH + FC D0AD ; # capital E + FD D0A9 ; # capital SHCH + FE D0A7 ; # capital CH + FF D0AA ; # capital hard sign +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/koi-win b/backups/nginx/20250924-180551/local_etc_nginx/koi-win new file mode 100755 index 0000000..72afabe --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/koi-win @@ -0,0 +1,103 @@ + +charset_map koi8-r windows-1251 { + + 80 88 ; # euro + + 95 95 ; # bullet + + 9A A0 ; #   + + 9E B7 ; # · + + A3 B8 ; # small yo + A4 BA ; # small Ukrainian ye + + A6 B3 ; # small Ukrainian i + A7 BF ; # small Ukrainian yi + + AD B4 ; # small Ukrainian soft g + AE A2 ; # small Byelorussian short u + + B0 B0 ; # ° + + B3 A8 ; # capital YO + B4 AA ; # capital Ukrainian YE + + B6 B2 ; # capital Ukrainian I + B7 AF ; # capital Ukrainian YI + + B9 B9 ; # numero sign + + BD A5 ; # capital Ukrainian soft G + BE A1 ; # capital Byelorussian short U + + BF A9 ; # (C) + + C0 FE ; # small yu + C1 E0 ; # small a + C2 E1 ; # small b + C3 F6 ; # small ts + C4 E4 ; # small d + C5 E5 ; # small ye + C6 F4 ; # small f + C7 E3 ; # small g + C8 F5 ; # small kh + C9 E8 ; # small i + CA E9 ; # small j + CB EA ; # small k + CC EB ; # small l + CD EC ; # small m + CE ED ; # small n + CF EE ; # small o + + D0 EF ; # small p + D1 FF ; # small ya + D2 F0 ; # small r + D3 F1 ; # small s + D4 F2 ; # small t + D5 F3 ; # small u + D6 E6 ; # small zh + D7 E2 ; # small v + D8 FC ; # small soft sign + D9 FB ; # small y + DA E7 ; # small z + DB F8 ; # small sh + DC FD ; # small e + DD F9 ; # small shch + DE F7 ; # small ch + DF FA ; # small hard sign + + E0 DE ; # capital YU + E1 C0 ; # capital A + E2 C1 ; # capital B + E3 D6 ; # capital TS + E4 C4 ; # capital D + E5 C5 ; # capital YE + E6 D4 ; # capital F + E7 C3 ; # capital G + E8 D5 ; # capital KH + E9 C8 ; # capital I + EA C9 ; # capital J + EB CA ; # capital K + EC CB ; # capital L + ED CC ; # capital M + EE CD ; # capital N + EF CE ; # capital O + + F0 CF ; # capital P + F1 DF ; # capital YA + F2 D0 ; # capital R + F3 D1 ; # capital S + F4 D2 ; # capital T + F5 D3 ; # capital U + F6 C6 ; # capital ZH + F7 C2 ; # capital V + F8 DC ; # capital soft sign + F9 DB ; # capital Y + FA C7 ; # capital Z + FB D8 ; # capital SH + FC DD ; # capital E + FD D9 ; # capital SHCH + FE D7 ; # capital CH + FF DA ; # capital hard sign +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/mime.types b/backups/nginx/20250924-180551/local_etc_nginx/mime.types new file mode 100755 index 0000000..1c00d70 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/mime.types @@ -0,0 +1,99 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/avif avif; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/wasm wasm; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules b/backups/nginx/20250924-180551/local_etc_nginx/modules new file mode 120000 index 0000000..4b9b33f --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules @@ -0,0 +1 @@ +/usr/lib/nginx/modules \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-geoip.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-geoip.conf.removed new file mode 120000 index 0000000..390fab2 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-geoip.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-http-geoip.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-image-filter.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-image-filter.conf.removed new file mode 120000 index 0000000..fa27cd3 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-image-filter.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-http-image-filter.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-xslt-filter.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-xslt-filter.conf.removed new file mode 120000 index 0000000..51d7ca7 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-http-xslt-filter.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-http-xslt-filter.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-mail.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-mail.conf.removed new file mode 120000 index 0000000..baa6ea9 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-mail.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-mail.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-stream.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-stream.conf.removed new file mode 120000 index 0000000..7f65cc5 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/50-mod-stream.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-stream.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/70-mod-stream-geoip.conf.removed b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/70-mod-stream-geoip.conf.removed new file mode 120000 index 0000000..4acbe4f --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/modules-enabled/70-mod-stream-geoip.conf.removed @@ -0,0 +1 @@ +/usr/share/nginx/modules-available/mod-stream-geoip.conf \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf new file mode 100755 index 0000000..622f1c2 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf @@ -0,0 +1,34 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +include /etc/nginx/stream.d/*.conf; + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/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 /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151031 b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151031 new file mode 100755 index 0000000..4c85b8f --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151031 @@ -0,0 +1,33 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/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 /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151432 b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151432 new file mode 100755 index 0000000..622f1c2 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151432 @@ -0,0 +1,34 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +include /etc/nginx/stream.d/*.conf; + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/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 /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151838 b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151838 new file mode 100755 index 0000000..536e53e --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/nginx.conf.bak-2025-09-23-151838 @@ -0,0 +1,35 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +include /etc/nginx/stream.d/*.conf; +include /etc/nginx/stream.d/*.conf; + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/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 /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/proxy_params b/backups/nginx/20250924-180551/local_etc_nginx/proxy_params new file mode 100755 index 0000000..df75bc5 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/proxy_params @@ -0,0 +1,4 @@ +proxy_set_header Host $http_host; +proxy_set_header X-Real-IP $remote_addr; +proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +proxy_set_header X-Forwarded-Proto $scheme; diff --git a/backups/nginx/20250924-180551/local_etc_nginx/scgi_params b/backups/nginx/20250924-180551/local_etc_nginx/scgi_params new file mode 100755 index 0000000..6d4ce4f --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/scgi_params @@ -0,0 +1,17 @@ + +scgi_param REQUEST_METHOD $request_method; +scgi_param REQUEST_URI $request_uri; +scgi_param QUERY_STRING $query_string; +scgi_param CONTENT_TYPE $content_type; + +scgi_param DOCUMENT_URI $document_uri; +scgi_param DOCUMENT_ROOT $document_root; +scgi_param SCGI 1; +scgi_param SERVER_PROTOCOL $server_protocol; +scgi_param REQUEST_SCHEME $scheme; +scgi_param HTTPS $https if_not_empty; + +scgi_param REMOTE_ADDR $remote_addr; +scgi_param REMOTE_PORT $remote_port; +scgi_param SERVER_PORT $server_port; +scgi_param SERVER_NAME $server_name; diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/demo.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/demo.4nkweb.com new file mode 100755 index 0000000..d91b819 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/demo.4nkweb.com @@ -0,0 +1,100 @@ + +server { + listen 443 ssl; + server_name demo.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/demo.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/demo.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3003; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws { + proxy_pass http://127.0.0.1:8090/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; # Keep connection open for WebSocket +# proxy_set_header Connection "Upgrade"; + proxy_redirect off; + } + + location /ws/ { + proxy_pass http://127.0.0.1:8090/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; # Keep connection open for WebSocket +# proxy_set_header Connection "Upgrade"; + proxy_redirect off; + } + + location /signer/ { + proxy_pass http://localhost:9090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; # Keep connection open for WebSocket + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + + proxy_pass http://localhost:8081/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /blindbit/ { + proxy_pass http://localhost:8000/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /back/ { + proxy_pass http://localhost:8081/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } +} + +server { + listen 80; + server_name demo.4nkweb.com; + + return 301 https://$host$request_uri; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev1.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev1.4nkweb.com new file mode 100755 index 0000000..ca1dd66 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev1.4nkweb.com @@ -0,0 +1,60 @@ +server { + listen 443 ssl; + server_name dev1.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/dev1.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev1.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3002; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; # Keep connection open for WebSocket + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + ssl_certificate /etc/letsencrypt/live/dev1.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/dev1.4nkweb.com/privkey.pem; # managed by Certbot +} + +server { + if ($host = dev1.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev1.4nkweb.com; + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev2.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev2.4nkweb.com new file mode 100755 index 0000000..b7c6e0e --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev2.4nkweb.com @@ -0,0 +1,60 @@ +server { + listen 443 ssl; + server_name dev2.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/demo.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/demo.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3003; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; # Keep connection open for WebSocket + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + ssl_certificate /etc/letsencrypt/live/dev2.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/dev2.4nkweb.com/privkey.pem; # managed by Certbot +} + +server { + if ($host = dev2.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev2.4nkweb.com; + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com new file mode 100755 index 0000000..040d5e4 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com @@ -0,0 +1,162 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + + # Callback IdNot -> backend, avec CORS dynamique et masquage des en-tΓͺtes upstream + location = /idnot/callback { + # Masquer les en-tΓͺtes CORS envoyΓ©s par l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, local.4nkweb.com:3000, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + # Masquer les en-tΓͺtes CORS de l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, local.4nkweb.com:3000, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095706 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095706 new file mode 100755 index 0000000..e1969d1 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095706 @@ -0,0 +1,105 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location = /idnot/callback {\n proxy_pass http://127.0.0.1:8080;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} + + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095909 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095909 new file mode 100755 index 0000000..e1969d1 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-095909 @@ -0,0 +1,105 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location = /idnot/callback {\n proxy_pass http://127.0.0.1:8080;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} + + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-100249 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-100249 new file mode 100755 index 0000000..e1969d1 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.2025-09-23-100249 @@ -0,0 +1,105 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location = /idnot/callback {\n proxy_pass http://127.0.0.1:8080;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} + + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214746 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214746 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214758 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214758 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214802 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214802 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214824 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-214824 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215020 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215020 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215027 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215027 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215117 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215117 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215123 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215123 new file mode 100755 index 0000000..e69de29 diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215806 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215806 new file mode 100755 index 0000000..fe12ee9 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/dev3.4nkweb.com.bak.20250922-215806 @@ -0,0 +1,107 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization,Content-Type,Accept" always; + add_header Access-Control-Max-Age 600; + return 204; + } + + proxy_pass http://127.0.0.1:8091; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + add_header Access-Control-Allow-Origin "http://local.lecoffreio.4nkweb:3000" always ; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization,Content-Type,Accept,X-Requested-With" always; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; # managed by Certbot + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; # managed by Certbot +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + + return 301 https://$host$request_uri; + + +} + + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio-dev2.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio-dev2.4nkweb.com new file mode 100755 index 0000000..b5d85df --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio-dev2.4nkweb.com @@ -0,0 +1,37 @@ +server { + listen 443 ssl; + server_name lecoffreio-dev2.4nkweb.com; + +# ssl_certificate /etc/letsencrypt/live/lecoffreio.4nkweb.com/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/live/lecoffreio.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + + location / { + proxy_pass http://localhost:3006; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + ssl_certificate /etc/letsencrypt/live/lecoffreio-dev2.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/lecoffreio-dev2.4nkweb.com/privkey.pem; # managed by Certbot + +} + +server { + if ($host = lecoffreio-dev2.4nkweb.com) { + return 301 https://$host$request_uri; + } + + listen 80; + server_name lecoffreio-dev2.4nkweb.com; + + return 301 https://$host$request_uri; + + + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio.4nkweb.com new file mode 100755 index 0000000..8027807 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/lecoffreio.4nkweb.com @@ -0,0 +1,65 @@ +server { + listen 443 ssl; + server_name lecoffreio.4nkweb.com; + +# ssl_certificate /etc/letsencrypt/live/lecoffreio.4nkweb.com/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/live/lecoffreio.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + + location / { + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /api/ { + proxy_pass http://127.0.0.1:8081/api/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + ssl_certificate /etc/letsencrypt/live/lecoffreio.4nkweb.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/lecoffreio.4nkweb.com/privkey.pem; # managed by Certbot +} + +server { + if ($host = lecoffreio.4nkweb.com) { + return 301 https://$host$request_uri; + } + + listen 80; + server_name lecoffreio.4nkweb.com; + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000 new file mode 100755 index 0000000..762c681 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000 @@ -0,0 +1,8 @@ +server { + listen 3001; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl new file mode 100755 index 0000000..a5438f1 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl @@ -0,0 +1,11 @@ +server { + listen 3443 ssl; + listen 3443; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151115 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151115 new file mode 100755 index 0000000..b934255 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151115 @@ -0,0 +1,11 @@ +server { + listen 3443 ssl; + listen 3000; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151628 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151628 new file mode 100755 index 0000000..b934255 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-2025-09-23-151628 @@ -0,0 +1,11 @@ +server { + listen 3443 ssl; + listen 3000; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-20250923 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-20250923 new file mode 100755 index 0000000..7fc20a2 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak-20250923 @@ -0,0 +1,20 @@ +server { + listen 3000 ssl; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + +server { + listen 3000 ssl; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + return 301 https://dev3.4nkweb.com/idnot/callback; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak.2025-09-23-150811 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak.2025-09-23-150811 new file mode 100755 index 0000000..ed17237 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000-ssl.bak.2025-09-23-150811 @@ -0,0 +1,12 @@ +server { + listen 3000 ssl; + listen 3000; + server_name local.4nkweb.com; + + ssl_certificate /etc/letsencrypt/live/local.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/local.4nkweb.com/privkey.pem; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak new file mode 100755 index 0000000..d024619 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak @@ -0,0 +1,7 @@ +server { + listen 3000; + server_name local.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev4.4nkweb.com/lecoffre$request_uri; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151054 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151054 new file mode 100755 index 0000000..762c681 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151054 @@ -0,0 +1,8 @@ +server { + listen 3001; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151523 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151523 new file mode 100755 index 0000000..762c681 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151523 @@ -0,0 +1,8 @@ +server { + listen 3001; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151529 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151529 new file mode 100755 index 0000000..762c681 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-2025-09-23-151529 @@ -0,0 +1,8 @@ +server { + listen 3001; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-20250923 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-20250923 new file mode 100755 index 0000000..3817dbf --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak-20250923 @@ -0,0 +1,13 @@ +server { + listen 3000; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + +server { + listen 3000; + server_name local.4nkweb.com; + return 301 https://dev3.4nkweb.com/idnot/callback; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak.2025-09-23-150734 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak.2025-09-23-150734 new file mode 100755 index 0000000..75c5d08 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.4nkweb.com-3000.bak.2025-09-23-150734 @@ -0,0 +1,8 @@ +server { + listen 3000; + server_name local.4nkweb.com; + + # Redirige vers le callback en conservant intΓ©gralement la query (code + state) + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com new file mode 100755 index 0000000..a61ac3b --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak new file mode 100755 index 0000000..122cd0a --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev4.4nkweb.com/lecoffre$request_uri; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223714 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223714 new file mode 100755 index 0000000..122cd0a --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223714 @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev4.4nkweb.com/lecoffre$request_uri; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223836 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223836 new file mode 100755 index 0000000..122cd0a --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-223836 @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev4.4nkweb.com/lecoffre$request_uri; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-224059 b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-224059 new file mode 100755 index 0000000..122cd0a --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/local.lecoffreio.4nkweb.com.bak.20250922-224059 @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev4.4nkweb.com/lecoffre$request_uri; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-available/relay235.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/relay235.4nkweb.com new file mode 100755 index 0000000..5e65719 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-available/relay235.4nkweb.com @@ -0,0 +1,28 @@ +upstream backend { + server 127.0.0.1:3000; +} + +server { + listen 443 ssl; + server_name relay235.4nkweb.com; + client_max_body_size 200M; + access_log /var/log/nginx/rocket.chat.access.log; + error_log /var/log/nginx/rocket.chat.error.log; + ssl_certificate /etc/letsencrypt/live/relay235.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/relay235.4nkweb.com/privkey.pem; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + + location / { + proxy_pass http://backend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Nginx-Proxy true; + proxy_redirect off; + } +} + diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/demo.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/demo.4nkweb.com new file mode 120000 index 0000000..b429eff --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/demo.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/demo.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev1.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev1.4nkweb.com new file mode 120000 index 0000000..cf74f1b --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev1.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/dev1.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev2.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev2.4nkweb.com new file mode 120000 index 0000000..a790e77 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev2.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/dev2.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev3.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev3.4nkweb.com new file mode 100755 index 0000000..040d5e4 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/dev3.4nkweb.com @@ -0,0 +1,162 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + + # Callback IdNot -> backend, avec CORS dynamique et masquage des en-tΓͺtes upstream + location = /idnot/callback { + # Masquer les en-tΓͺtes CORS envoyΓ©s par l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, local.4nkweb.com:3000, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + # Masquer les en-tΓͺtes CORS de l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, local.4nkweb.com:3000, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio-dev2.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio-dev2.4nkweb.com new file mode 120000 index 0000000..b20a8e5 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio-dev2.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/lecoffreio-dev2.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio.4nkweb.com new file mode 120000 index 0000000..f1c479a --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/lecoffreio.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/lecoffreio.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.4nkweb.com-3001 b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.4nkweb.com-3001 new file mode 120000 index 0000000..60f11ed --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.4nkweb.com-3001 @@ -0,0 +1 @@ +/etc/nginx/sites-available/local.4nkweb.com-3000 \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.lecoffreio.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.lecoffreio.4nkweb.com new file mode 100755 index 0000000..a61ac3b --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/local.lecoffreio.4nkweb.com @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/relay235.4nkweb.com b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/relay235.4nkweb.com new file mode 120000 index 0000000..08ab0de --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/sites-enabled/relay235.4nkweb.com @@ -0,0 +1 @@ +/etc/nginx/sites-available/relay235.4nkweb.com \ No newline at end of file diff --git a/backups/nginx/20250924-180551/local_etc_nginx/snippets/fastcgi-php.conf b/backups/nginx/20250924-180551/local_etc_nginx/snippets/fastcgi-php.conf new file mode 100755 index 0000000..467a9e7 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/snippets/fastcgi-php.conf @@ -0,0 +1,13 @@ +# regex to split $uri to $fastcgi_script_name and $fastcgi_path +fastcgi_split_path_info ^(.+?\.php)(/.*)$; + +# Check that the PHP script exists before passing it +try_files $fastcgi_script_name =404; + +# Bypass the fact that try_files resets $fastcgi_path_info +# see: http://trac.nginx.org/nginx/ticket/321 +set $path_info $fastcgi_path_info; +fastcgi_param PATH_INFO $path_info; + +fastcgi_index index.php; +include fastcgi.conf; diff --git a/backups/nginx/20250924-180551/local_etc_nginx/snippets/snakeoil.conf b/backups/nginx/20250924-180551/local_etc_nginx/snippets/snakeoil.conf new file mode 100755 index 0000000..ad26c3e --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/snippets/snakeoil.conf @@ -0,0 +1,5 @@ +# Self signed certificates generated by the ssl-cert package +# Don't use them in a production server! + +ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; +ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; diff --git a/backups/nginx/20250924-180551/local_etc_nginx/stream.d/3000-multiplex.conf b/backups/nginx/20250924-180551/local_etc_nginx/stream.d/3000-multiplex.conf new file mode 100644 index 0000000..0392232 --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/stream.d/3000-multiplex.conf @@ -0,0 +1,11 @@ +stream { + map $ssl_preread_protocol $upstream_3000 { + "" 127.0.0.1:3001; # HTTP clair + default 127.0.0.1:3443; # TLS -> HTTPS + } + server { + listen 3000; + proxy_pass $upstream_3000; + ssl_preread on; + } +} diff --git a/backups/nginx/20250924-180551/local_etc_nginx/uwsgi_params b/backups/nginx/20250924-180551/local_etc_nginx/uwsgi_params new file mode 100755 index 0000000..09c732c --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/uwsgi_params @@ -0,0 +1,17 @@ + +uwsgi_param QUERY_STRING $query_string; +uwsgi_param REQUEST_METHOD $request_method; +uwsgi_param CONTENT_TYPE $content_type; +uwsgi_param CONTENT_LENGTH $content_length; + +uwsgi_param REQUEST_URI $request_uri; +uwsgi_param PATH_INFO $document_uri; +uwsgi_param DOCUMENT_ROOT $document_root; +uwsgi_param SERVER_PROTOCOL $server_protocol; +uwsgi_param REQUEST_SCHEME $scheme; +uwsgi_param HTTPS $https if_not_empty; + +uwsgi_param REMOTE_ADDR $remote_addr; +uwsgi_param REMOTE_PORT $remote_port; +uwsgi_param SERVER_PORT $server_port; +uwsgi_param SERVER_NAME $server_name; diff --git a/backups/nginx/20250924-180551/local_etc_nginx/win-utf b/backups/nginx/20250924-180551/local_etc_nginx/win-utf new file mode 100755 index 0000000..774fd9f --- /dev/null +++ b/backups/nginx/20250924-180551/local_etc_nginx/win-utf @@ -0,0 +1,125 @@ +# This map is not a full windows-1251 <> utf8 map: it does not +# contain Serbian and Macedonian letters. If you need a full map, +# use contrib/unicode2nginx/win-utf map instead. + +charset_map windows-1251 utf-8 { + + 82 E2809A; # single low-9 quotation mark + + 84 E2809E; # double low-9 quotation mark + 85 E280A6; # ellipsis + 86 E280A0; # dagger + 87 E280A1; # double dagger + 88 E282AC; # euro + 89 E280B0; # per mille + + 91 E28098; # left single quotation mark + 92 E28099; # right single quotation mark + 93 E2809C; # left double quotation mark + 94 E2809D; # right double quotation mark + 95 E280A2; # bullet + 96 E28093; # en dash + 97 E28094; # em dash + + 99 E284A2; # trade mark sign + + A0 C2A0; #   + A1 D18E; # capital Byelorussian short U + A2 D19E; # small Byelorussian short u + + A4 C2A4; # currency sign + A5 D290; # capital Ukrainian soft G + A6 C2A6; # borken bar + A7 C2A7; # section sign + A8 D081; # capital YO + A9 C2A9; # (C) + AA D084; # capital Ukrainian YE + AB C2AB; # left-pointing double angle quotation mark + AC C2AC; # not sign + AD C2AD; # soft hypen + AE C2AE; # (R) + AF D087; # capital Ukrainian YI + + B0 C2B0; # ° + B1 C2B1; # plus-minus sign + B2 D086; # capital Ukrainian I + B3 D196; # small Ukrainian i + B4 D291; # small Ukrainian soft g + B5 C2B5; # micro sign + B6 C2B6; # pilcrow sign + B7 C2B7; # · + B8 D191; # small yo + B9 E28496; # numero sign + BA D194; # small Ukrainian ye + BB C2BB; # right-pointing double angle quotation mark + + BF D197; # small Ukrainian yi + + C0 D090; # capital A + C1 D091; # capital B + C2 D092; # capital V + C3 D093; # capital G + C4 D094; # capital D + C5 D095; # capital YE + C6 D096; # capital ZH + C7 D097; # capital Z + C8 D098; # capital I + C9 D099; # capital J + CA D09A; # capital K + CB D09B; # capital L + CC D09C; # capital M + CD D09D; # capital N + CE D09E; # capital O + CF D09F; # capital P + + D0 D0A0; # capital R + D1 D0A1; # capital S + D2 D0A2; # capital T + D3 D0A3; # capital U + D4 D0A4; # capital F + D5 D0A5; # capital KH + D6 D0A6; # capital TS + D7 D0A7; # capital CH + D8 D0A8; # capital SH + D9 D0A9; # capital SHCH + DA D0AA; # capital hard sign + DB D0AB; # capital Y + DC D0AC; # capital soft sign + DD D0AD; # capital E + DE D0AE; # capital YU + DF D0AF; # capital YA + + E0 D0B0; # small a + E1 D0B1; # small b + E2 D0B2; # small v + E3 D0B3; # small g + E4 D0B4; # small d + E5 D0B5; # small ye + E6 D0B6; # small zh + E7 D0B7; # small z + E8 D0B8; # small i + E9 D0B9; # small j + EA D0BA; # small k + EB D0BB; # small l + EC D0BC; # small m + ED D0BD; # small n + EE D0BE; # small o + EF D0BF; # small p + + F0 D180; # small r + F1 D181; # small s + F2 D182; # small t + F3 D183; # small u + F4 D184; # small f + F5 D185; # small kh + F6 D186; # small ts + F7 D187; # small ch + F8 D188; # small sh + F9 D189; # small shch + FA D18A; # small hard sign + FB D18B; # small y + FC D18C; # small soft sign + FD D18D; # small e + FE D18E; # small yu + FF D18F; # small ya +} diff --git a/backups/nginx/20250924-180551/project/dev3.4nkweb.com.conf b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.conf new file mode 100644 index 0000000..269884f --- /dev/null +++ b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.conf @@ -0,0 +1,162 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + + # Callback IdNot -> backend, avec CORS dynamique et masquage des en-tΓͺtes upstream + location = /idnot/callback { + # Masquer les en-tΓͺtes CORS envoyΓ©s par l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, lecoffreio.4nkweb.com, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + # Masquer les en-tΓͺtes CORS de l'upstream (Express) + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # CORS dynamique: autorise dev4, lecoffreio.4nkweb.com, localhost:3000 et sous-domaines *.4nkweb.com + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.4nkweb\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + # PrΓ©flight OPTIONS + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + # En-tΓͺtes CORS pour les autres mΓ©thodes + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf new file mode 100644 index 0000000..0f3b18f --- /dev/null +++ b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf @@ -0,0 +1,176 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + location = /idnot/callback { + # Hide upstream CORS headers + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # Dynamic CORS allowlist + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.(4nkweb|4nkdev)\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + add_header 'Access-Control-Max-Age' 86400; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain'; + return 204; + } + + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With' always; + + rewrite ^/storage(/.*)$ $1 break; + proxy_pass http://localhost:8080; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location ^~ /api/ { + # Hide upstream CORS headers + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Credentials; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Allow-Methods; + + # Dynamic CORS allowlist + set $cors_origin ""; + if ($http_origin ~* ^(https://dev4\.4nkweb\.com|http://local\.(4nkweb|4nkdev)\.com:3000|http://localhost:3000|https://.*\.4nkweb\.com)$) { + set $cors_origin $http_origin; + } + + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + return 204; + } + + add_header Access-Control-Allow-Origin $cors_origin always; + add_header Access-Control-Allow-Credentials "true" always; + add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-session-id" always; + add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always; + add_header Vary "Origin, Access-Control-Request-Method, Access-Control-Request-Headers" always; + + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location @handle_502 { + internal; + add_header Access-Control-Allow-Origin "*" always; + add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE" always; + add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, X-Requested-With" always; + return 502; + } + +} + +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} +server { + if ($host = dev3.4nkweb.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + return 301 https://$host$request_uri; + + +} diff --git a/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf.b64 b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf.b64 new file mode 100644 index 0000000..22c9003 --- /dev/null +++ b/backups/nginx/20250924-180551/project/dev3.4nkweb.com.fixed.conf.b64 @@ -0,0 +1,45 @@ +server { + listen 443 ssl; + server_name dev3.4nkweb.com; + location = /idnot/callback { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + ssl_certificate /etc/letsencrypt/live/dev3.4nkweb.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dev3.4nkweb.com/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers HIGH:!aNULL:!MD5; + # Redirection des requΓͺtes HTTP normales vers Vite + location / { + proxy_pass http://localhost:3004; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } + + location /ws/ { + proxy_pass http://localhost:8090; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; + + proxy_read_timeout 86400; + proxy_set_header Connection "Upgrade"; + } + + location /storage/ { + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin * always; + add_header Access-Control-Allow-Methods GET, diff --git a/backups/nginx/20250924-180551/project/local.4nkweb.com-3000.conf b/backups/nginx/20250924-180551/project/local.4nkweb.com-3000.conf new file mode 100644 index 0000000..a958acd --- /dev/null +++ b/backups/nginx/20250924-180551/project/local.4nkweb.com-3000.conf @@ -0,0 +1,7 @@ +server { + listen 3000; + server_name local.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/backups/nginx/20250924-180551/project/local.lecoffreio.4nkweb.com.conf b/backups/nginx/20250924-180551/project/local.lecoffreio.4nkweb.com.conf new file mode 100644 index 0000000..a61ac3b --- /dev/null +++ b/backups/nginx/20250924-180551/project/local.lecoffreio.4nkweb.com.conf @@ -0,0 +1,7 @@ +server { + listen 80; + server_name local.lecoffreio.4nkweb.com; + + # Redirige vers le front final en conservant chemin + query + return 301 https://dev3.4nkweb.com/idnot/callback$is_args$args; +} diff --git a/logs/backend.out b/logs/backend.out index 8758fb7..7dbfb2e 100644 --- a/logs/backend.out +++ b/logs/backend.out @@ -9811,3 +9811,886 @@ npm error A complete log of this run can be found in: /home/ank/.npm/_logs/2025- statusCode: 200 } } +❌ [ERROR] 2025-09-24T10:18:59.808Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: "Expected property name or '}' in JSON at position 1 (line 1 column 2)", + name: 'SyntaxError', + stack: "SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)\n" + + ' at JSON.parse ()\n' + + ' at parse (/home/ank/dev/lecoffre-back-mini/node_modules/body-parser/lib/types/jso'... 632 more characters + }, + request: { + body: {}, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758709139807_4q5qihz83' +} +❌ [ERROR] 2025-09-24T10:18:59.912Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: "Expected property name or '}' in JSON at position 1 (line 1 column 2)", + name: 'SyntaxError', + stack: "SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)\n" + + ' at JSON.parse ()\n' + + ' at parse (/home/ank/dev/lecoffre-back-mini/node_modules/body-parser/lib/types/jso'... 632 more characters + }, + request: { + body: {}, + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758709139911_2i5wacr3j' +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback?code=fake&state=null', + method: 'HEAD', + query: { + code_present: true, + code_length: 4, + state_present: true, + state_length: 4 + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '92.243.24.12', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T10:19:00.038Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'Invalid state format', + name: 'Error', + stack: 'Error: Invalid state format\n' + + ' at Object.verifyState (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:70:19)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handl'... 1454 more characters + }, + request: { + body: {}, + ip: '::ffff:127.0.0.1', + method: 'HEAD', + url: '/idnot/callback?code=fake&state=null', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758709140037_neb8qywmn' +} +❌ [ERROR] 2025-09-24T10:19:00.039Z HTTP HEAD /idnot/callback?code=fake&state=null - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'HEAD', + url: '/idnot/callback?code=fake&state=null', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758709140037_neb8qywmn', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T10:20:34.290Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://lecoffreio.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709234289_zvj3iukxo' +} +❌ [ERROR] 2025-09-24T10:20:34.291Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709234289_zvj3iukxo', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T10:20:46.142Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://lecoffreio.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709246142_uph0sxbkt' +} +❌ [ERROR] 2025-09-24T10:20:46.143Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709246142_uph0sxbkt', + response: { + statusCode: 500 + } +} +ℹ️ [INFO] 2025-09-24T10:22:10.516Z SIGTERM received, shutting down gracefully +[dotenv@17.2.2] injecting env (40) from .env -- tip: πŸ” prevent committing .env to code: https://dotenvx.com/precommit +ℹ️ [INFO] 2025-09-24T10:22:11.238Z Initializing Signer service +Server started on port 8080 +βœ… Connected to SDK Signer server +ℹ️ [INFO] 2025-09-24T10:22:11.253Z Signer connected +ℹ️ [INFO] 2025-09-24T10:22:11.254Z Signer connected +ℹ️ [INFO] 2025-09-24T10:22:11.254Z Signer service initialized +Server error: Device not paired +Full error response: { + "type": "ERROR", + "error": "Device not paired", + "messageId": "msg_1758709361249_j1m0ykcur" +} +❌ [ERROR] 2025-09-24T10:22:41.253Z Signer WebSocket error +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Device not paired' +} +❌ [ERROR] 2025-09-24T10:22:41.253Z Signer connection error +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Device not paired' +} +⚠️ [WARN] 2025-09-24T10:22:41.254Z Signer disconnected - reconnecting... +⚠️ [WARN] 2025-09-24T10:22:41.254Z Signer disconnected +⚠️ [WARN] 2025-09-24T10:22:41.254Z Signer health check failed - connection may be stale +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Server error for GET_PAIRING_ID: Device not paired' +} +ℹ️ [INFO] 2025-09-24T10:25:07.860Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 8, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709507836_xdo4lv33f', + response: { + statusCode: 200 + } +} +ℹ️ [INFO] 2025-09-24T10:25:18.090Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758709518087_ou6jmdpno', + response: { + statusCode: 200 + } +} +❌ [ERROR] 2025-09-24T10:34:26.922Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710066904_27m9n7w60' +} +❌ [ERROR] 2025-09-24T10:34:26.925Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 15, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710066904_27m9n7w60', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T10:34:27.017Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710067015_3kjktqu9g' +} +❌ [ERROR] 2025-09-24T10:34:27.018Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710067015_3kjktqu9g', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T10:47:37.979Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: "Expected property name or '}' in JSON at position 1 (line 1 column 2)", + name: 'SyntaxError', + stack: "SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)\n" + + ' at JSON.parse ()\n' + + ' at parse (/home/ank/dev/lecoffre-back-mini/node_modules/body-parser/lib/types/jso'... 632 more characters + }, + request: { + body: {}, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710857977_3x2tff0uc' +} +❌ [ERROR] 2025-09-24T10:47:38.066Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: "Expected property name or '}' in JSON at position 1 (line 1 column 2)", + name: 'SyntaxError', + stack: "SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)\n" + + ' at JSON.parse ()\n' + + ' at parse (/home/ank/dev/lecoffre-back-mini/node_modules/body-parser/lib/types/jso'... 632 more characters + }, + request: { + body: {}, + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758710858066_ifwqr8nuh' +} +ℹ️ [INFO] 2025-09-24T10:49:25.159Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758710965156_bo5sx3ixk', + response: { + statusCode: 200 + } +} +ℹ️ [INFO] 2025-09-24T10:49:41.619Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 0, + request: { + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758710981618_ebi2gpw1s', + response: { + statusCode: 200 + } +} +❌ [ERROR] 2025-09-24T10:51:22.782Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0' + }, + requestId: 'req_1758711082780_j597urba0' +} +❌ [ERROR] 2025-09-24T10:51:22.784Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0' + }, + requestId: 'req_1758711082780_j597urba0', + response: { + statusCode: 500 + } +} +ℹ️ [INFO] 2025-09-24T11:01:58.450Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758711718448_di1jkndj4', + response: { + statusCode: 200 + } +} +ℹ️ [INFO] 2025-09-24T11:01:58.565Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758711718563_hcmejk267', + response: { + statusCode: 200 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY', + method: 'GET', + query: { + code_present: true, + code_length: 619, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T11:03:39.390Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: 'eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER8'... 419 more characters + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711819389_nf34png2h' +} +❌ [ERROR] 2025-09-24T11:03:39.392Z HTTP GET /idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 3, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711819389_nf34png2h', + response: { + statusCode: 400 + } +} +❌ [ERROR] 2025-09-24T11:03:49.801Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711829800_f8l7fdg5v' +} +❌ [ERROR] 2025-09-24T11:03:49.802Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711829800_f8l7fdg5v', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T11:03:53.921Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711833920_50d813ejt' +} +❌ [ERROR] 2025-09-24T11:03:53.921Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758711833920_50d813ejt', + response: { + statusCode: 500 + } +} +ℹ️ [INFO] 2025-09-24T11:08:45.074Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758712125073_9bz1sg77c', + response: { + statusCode: 200 + } +} +❌ [ERROR] 2025-09-24T11:09:08.000Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758712147999_qawqb01l3' +} +❌ [ERROR] 2025-09-24T11:09:08.001Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758712147999_qawqb01l3', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T11:09:55.041Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:204.76.203.219', + method: 'GET', + url: '/', + userAgent: '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' + }, + requestId: 'req_1758712195039_lvmz6uq2a', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T11:15:39.886Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:45.135.193.100', + method: 'GET', + url: '/', + userAgent: undefined + }, + requestId: 'req_1758712539885_sn4n0i98z', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T11:20:13.564Z HTTP GET /https://'+location.hostname+': - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:89.248.168.227', + method: 'GET', + url: "/https://'+location.hostname+':", + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36' + }, + requestId: 'req_1758712813562_xltodt85j', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T12:17:08.177Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716228176_gfdvb3lcc' +} +❌ [ERROR] 2025-09-24T12:17:08.178Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716228176_gfdvb3lcc', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T12:17:08.996Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716228996_kiheo6j0v' +} +❌ [ERROR] 2025-09-24T12:17:08.997Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716228996_kiheo6j0v', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T12:18:01.137Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716281136_8tkgkj46g' +} +❌ [ERROR] 2025-09-24T12:18:01.137Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716281136_8tkgkj46g', + response: { + statusCode: 500 + } +} +❌ [ERROR] 2025-09-24T12:22:16.688Z Unhandled error +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + message: 'next_url host not allowed', + name: 'Error', + stack: 'Error: next_url host not allowed\n' + + ' at validateNextUrl (/home/ank/dev/lecoffre-back-mini/dist/services/state.service.js:39:19)\n' + + ' at Object.signState (/home/ank/dev/lecoffre-back-mini/dist/services/'... 1422 more characters + }, + request: { + body: { + next_url: 'https://dev4.4nkweb.com/authorized-client' + }, + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758716536666_mh3vj7or9' +} +❌ [ERROR] 2025-09-24T12:22:16.697Z HTTP POST /api/v1/idnot/state - 500 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 23, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/7.74.0' + }, + requestId: 'req_1758716536666_mh3vj7or9', + response: { + statusCode: 500 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '46.101.140.177', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T12:24:04.384Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716644366_bnu82xuil' +} +❌ [ERROR] 2025-09-24T12:24:04.399Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 28, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' + }, + requestId: 'req_1758716644366_bnu82xuil', + response: { + statusCode: 400 + } +} +❌ [ERROR] 2025-09-24T12:27:06.661Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:204.76.203.219', + method: 'GET', + url: '/', + userAgent: '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' + }, + requestId: 'req_1758716826659_t41xdd94h', + response: { + statusCode: 404 + } +} diff --git a/logs/restart.out b/logs/restart.out new file mode 100644 index 0000000..bec910d --- /dev/null +++ b/logs/restart.out @@ -0,0 +1,710 @@ +[dotenv@17.2.2] injecting env (42) from .env -- tip: πŸ“‘ version env with Radar: https://dotenvx.com/radar +ℹ️ [INFO] 2025-09-24T12:40:14.984Z Initializing Signer service +Server started on port 8080 +βœ… Connected to SDK Signer server +ℹ️ [INFO] 2025-09-24T12:40:14.996Z Signer connected +ℹ️ [INFO] 2025-09-24T12:40:14.996Z Signer connected +ℹ️ [INFO] 2025-09-24T12:40:14.996Z Signer service initialized +ℹ️ [INFO] 2025-09-24T12:40:32.351Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 7, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758717632331_m56ovwnbw', + response: { + statusCode: 200 + } +} +ℹ️ [INFO] 2025-09-24T12:40:44.337Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 3, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758717644332_7lqfodlxg', + response: { + statusCode: 200 + } +} +Server error: Device not paired +Full error response: { + "type": "ERROR", + "error": "Device not paired", + "messageId": "msg_1758717644986_lc08nxhrp" +} +❌ [ERROR] 2025-09-24T12:40:44.990Z Signer WebSocket error +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Device not paired' +} +❌ [ERROR] 2025-09-24T12:40:44.990Z Signer connection error +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Device not paired' +} +⚠️ [WARN] 2025-09-24T12:40:44.991Z Signer disconnected - reconnecting... +⚠️ [WARN] 2025-09-24T12:40:44.991Z Signer disconnected +⚠️ [WARN] 2025-09-24T12:40:44.992Z Signer health check failed - connection may be stale +──────────────────────────────────────────────────────────────────────────────── +{ + error: 'Server error for GET_PAIRING_ID: Device not paired' +} +ℹ️ [INFO] 2025-09-24T12:41:46.498Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758717706496_iytoj8vj2', + response: { + statusCode: 200 + } +} +❌ [ERROR] 2025-09-24T12:41:59.371Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 3, + request: { + ip: '::ffff:45.135.193.100', + method: 'GET', + url: '/', + userAgent: undefined + }, + requestId: 'req_1758717719368_cdz2jta4r', + response: { + statusCode: 404 + } +} +ℹ️ [INFO] 2025-09-24T12:48:30.338Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758718110336_724huh3n8', + response: { + statusCode: 200 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '64.62.197.21', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T12:59:56.286Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0' + }, + requestId: 'req_1758718796283_86d8qxvoa' +} +❌ [ERROR] 2025-09-24T12:59:56.289Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 6, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0' + }, + requestId: 'req_1758718796283_86d8qxvoa', + response: { + statusCode: 400 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '104.196.67.21', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T13:12:57.356Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36' + }, + requestId: 'req_1758719577354_dxh2avzbs' +} +❌ [ERROR] 2025-09-24T13:12:57.357Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 3, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36' + }, + requestId: 'req_1758719577354_dxh2avzbs', + response: { + statusCode: 400 + } +} +❌ [ERROR] 2025-09-24T13:13:48.192Z HTTP GET /pdown - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 0, + request: { + ip: '::ffff:35.189.127.80', + method: 'GET', + url: '/pdown', + userAgent: undefined + }, + requestId: 'req_1758719628192_52uwsckck', + response: { + statusCode: 404 + } +} +ℹ️ [INFO] 2025-09-24T13:21:24.370Z HTTP POST /api/v1/idnot/state - 200 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:92.243.24.12', + method: 'POST', + url: '/api/v1/idnot/state', + userAgent: 'curl/8.14.1' + }, + requestId: 'req_1758720084368_jcx4o3v7p', + response: { + statusCode: 200 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T13:25:40.935Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758720340934_3feqxlsoa' +} +❌ [ERROR] 2025-09-24T13:25:40.936Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758720340934_3feqxlsoa', + response: { + statusCode: 400 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T13:25:49.512Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758720349511_ee91c31g9' +} +❌ [ERROR] 2025-09-24T13:25:49.513Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758720349511_ee91c31g9', + response: { + statusCode: 400 + } +} +❌ [ERROR] 2025-09-24T13:47:38.130Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:204.76.203.219', + method: 'GET', + url: '/', + userAgent: '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' + }, + requestId: 'req_1758721658129_mxrsfdggw', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T14:16:22.980Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 0, + request: { + ip: '::ffff:124.198.132.121', + method: 'GET', + url: '/', + userAgent: undefined + }, + requestId: 'req_1758723382979_3c09kzm1u', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T14:33:43.694Z HTTP GET /manager/text/list - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:20.84.119.5', + method: 'GET', + url: '/manager/text/list', + userAgent: 'Mozilla/5.0 zgrab/0.x' + }, + requestId: 'req_1758724423693_pf9l2jzlh', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T14:34:41.473Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:45.135.193.100', + method: 'GET', + url: '/', + userAgent: undefined + }, + requestId: 'req_1758724481472_d0ls68l03', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T14:54:19.384Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:207.90.244.28', + method: 'GET', + url: '/', + userAgent: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36' + }, + requestId: 'req_1758725659382_gfr3wyne5', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T14:54:21.949Z HTTP GET /favicon.ico - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:207.90.244.28', + method: 'GET', + url: '/favicon.ico', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36' + }, + requestId: 'req_1758725661947_u4drp4l5u', + response: { + statusCode: 404 + } +} +❌ [ERROR] 2025-09-24T15:07:58.358Z HTTP GET / - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:204.76.203.219', + method: 'GET', + url: '/', + userAgent: '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' + }, + requestId: 'req_1758726478357_gqtjxe05y', + response: { + statusCode: 404 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback', + method: 'GET', + query: { + code_present: false, + code_length: undefined, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T15:10:59.413Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: undefined + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726659411_fmxttqdrs' +} +❌ [ERROR] 2025-09-24T15:10:59.413Z HTTP GET /idnot/callback - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback', + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726659411_fmxttqdrs', + response: { + statusCode: 400 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY', + method: 'GET', + query: { + code_present: true, + code_length: 619, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T15:11:05.919Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: 'eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER8'... 419 more characters + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726665918_rd7x3f06b' +} +❌ [ERROR] 2025-09-24T15:11:05.920Z HTTP GET /idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 2, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726665918_rd7x3f06b', + response: { + statusCode: 400 + } +} +[IdNotCallback] incoming request { + originalUrl: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY', + method: 'GET', + query: { + code_present: true, + code_length: 619, + state_present: false, + state_length: undefined + }, + headers: { + host: 'dev3.4nkweb.com', + 'x-forwarded-for': '37.167.14.251', + 'x-forwarded-proto': 'https' + } +} +❌ [ERROR] 2025-09-24T15:12:58.163Z Application error occurred +──────────────────────────────────────────────────────────────────────────────── +{ + error: { + code: 'VALIDATION_ERROR', + details: [ + { + constraints: [ + 'required' + ], + field: 'code', + value: 'eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER8'... 419 more characters + }, + { + constraints: [ + 'required' + ], + field: 'state', + value: undefined + } + ], + message: 'Missing code or state', + stack: 'Error: Missing code or state\n' + + ' at new ValidationError (/home/ank/dev/lecoffre-back-mini/dist/types/errors.js:64:9)\n' + + ' at /home/ank/dev/lecoffre-back-mini/dist/handlers/idnot-callback.handlers.js:39'... 1445 more characters, + statusCode: 400 + }, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726778163_otp5d843z' +} +❌ [ERROR] 2025-09-24T15:12:58.164Z HTTP GET /idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd1NMr9aFK62xfpYnzMSER879r-IVOVR92hjXF63MA-TuuxQOO9WQgQ9gRrauQlJTrYIvnnjtoTd3hUjXiaK4wvlRyNNqYSkQXjdF2k4fanB9H4k8ioeQ3i6WcfPYiAoS4bP_DGhDOX4ed_Oso7XTk8RjymKAHVf-mR-of2n-WWQW0jAJFMlaJSFvSgm0KGZvsJcJX_oVQEiZ38dpiEJyVPiGV7WYzOH9Y35gzIl3CcFhAaIz9bqkpHLmZvNKQD_Q5NyaVa-WBoijrIltXfssA016g4qi6q4owykra7hOhH5URlk8_wfpR-jwe80NKZ55vPB0vhso-PWZ07aqc1oHVNpnN2dJGZSQJLm8nTTgEcDlFA7PewIXIg6eWHwUkZmJVLeU6hpAnlfgtUARoCczFcpktRLGzfY2XW-NHec1aIL0VC-7I0giWZtxY - 400 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:127.0.0.1', + method: 'GET', + url: '/idnot/callback?code=eyzP3g1U9rR_eU8posVgD-XrJHNyhgcf7Act7o2BLu3NDffTMYHDf8PnhBa87X1DpVlZiFfpAUZ5sDe0O1wwsLYYJqZG03XR6iy-FUvVRBq4_TBxteN6QlMNBrGZa8PIPLDduSgvTNd9co_9PG2NhvYk5ZDSZcaFVzSWC2IRYZNzKPnOfWd'... 440 more characters, + userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' + }, + requestId: 'req_1758726778163_otp5d843z', + response: { + statusCode: 400 + } +} +❌ [ERROR] 2025-09-24T15:54:56.232Z HTTP GET /login - 404 +──────────────────────────────────────────────────────────────────────────────── +{ + duration: 1, + request: { + ip: '::ffff:196.251.86.125', + method: 'GET', + url: '/login', + userAgent: 'Go-http-client/1.1' + }, + requestId: 'req_1758729296230_u2cxuha92', + response: { + statusCode: 404 + } +} diff --git a/logs/server.pid b/logs/server.pid new file mode 100644 index 0000000..3996ed6 --- /dev/null +++ b/logs/server.pid @@ -0,0 +1 @@ +3962703 diff --git a/scripts/backup_nginx_confs.sh b/scripts/backup_nginx_confs.sh new file mode 100755 index 0000000..5bf8468 --- /dev/null +++ b/scripts/backup_nginx_confs.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -euo pipefail + +timestamp="$(date +%Y%m%d-%H%M%S)" +dest_dir="backups/nginx/${timestamp}" +mkdir -p "${dest_dir}" + +# Project nginx confs +proj_src="confs/nginx" +if [ -d "$proj_src" ]; then + rsync -a --delete "$proj_src/" "${dest_dir}/project/" +fi + +# Local nginx common paths +declare -a local_paths=(/etc/nginx /usr/local/etc/nginx "$HOME/.config/nginx" ./conf/ngnix) +for p in "${local_paths[@]}"; do + if [ -d "$p" ]; then + safe_name="$(echo "$p" | sed "s|/|_|g;s|^_||")" + rsync -a "$p/" "${dest_dir}/local_${safe_name}/" || true + fi +done + +# Create compressed archives for convenience +tar -C "${dest_dir}" -czf "${dest_dir}.tar.gz" . + +echo "Saved nginx backups to ${dest_dir} and ${dest_dir}.tar.gz"