Skip to main content

Hallo zusammen,

seit dem Umstieg auf 22.3 klappt der Zugriff auf die API nicht mehr, wir erhalten durchgehend Error 500, vielleicht kann ja wer helfen:

Lokaler nginx-Server mit SSL (da ja wohl seit 22.3 Pflicht) und self-signed cert.

nginx-config:

server {
listen 80;
server_name erp.hegro-mb.local;
return 301 https://erp.hegro-mb.local$request_uri;
}

server {

listen 443 ssl;
server_name erp.hegro-mb.local;
root /var/www/erp/www;
index index.html index.htm index.php;

add_header X-Frame-Options SAMEORIGIN;

ssl_certificate /etc/nginx/ssl/erp.crt;
ssl_certificate_key /etc/nginx/ssl/erp.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location /api/ {
rewrite ^/api/(.*)$ /api/index.php/$1 last;
}

}

nginx-errorlog:

2022/07/12 20:14:00 [error] 15702#15702: *230 rewrite or internal redirection cycle while processing "/api/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/v1/adressen", client: 10.16.1.1, server: erp.hegro-mb.local, request: "GET /api/v1/adressen HTTP/1.1", host: "erp.hegro-mb.local"

 

Vor dem Update konnten wir händisch “erp.hegro-mb.local/api/v1/adressen” in die Browserleiste eingeben, jetzt kommt aber eben der 500er-Fehler.

 

Danke vorab!

 

Grüße

Reginald Leonczuk

Hallo @hegro,

 

Es scheint als würde ein ständiger Aufruf der index.php stattzufinden. Du könntest hier versuchen den Debug-Modus einzuschalten um spezifischere Fehlermeldungen zu kriegen. Schaue dir gerne diesen Handbucheintrag an.

 

/api/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/v1/adressen"

 

Beste Grüße,

Dennis

 

 


Hallo,

Zugriff auf die API über den Browser funktioniert wieder, nachdem wir die nginx serverconfig nach https://update.xentral.biz/apidoc/docs211.html#webserver_konfiguration angepasst haben.

Nun bleibt noch das Problem, dass unser Tool, das auf die API zugreifen möchte, folgende exception bringt:

Error: self signed certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1515:34)
at TLSSocket.emit (events.js:400:28)
at TLSSocket.emit (domain.js:475:12)
at TLSSocket._finishInit (_tls_wrap.js:937:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:709:12) {
code: 'DEPTH_ZERO_SELF_SIGNED_CERT',
name: 'ResponseError',
data: undefined,
path: '/api/v1/artikel/1331?include=dateien',
status: -1,
headers: {},
res: {
status: -1,
statusCode: -1,
statusMessage: null,
headers: {},
size: 0,
aborted: false,
rt: 20,
keepAliveSocket: false,
data: undefined,
requestUrls: l
'https://erp.hegro-mb.local/api/v1/artikel/1331?include=dateien'
],
timing: null,
remoteAddress: '10.16.1.10',
remotePort: 443,
socketHandledRequests: 1,
socketHandledResponses: 0
}
}
InternalServerError: self signed certificate, GET https://erp.hegro-mb.local/api/v1/artikel/1331?include=dateien -1 (connected: true, keepalive socket: false, socketHandledRequests: 1, socketHandledResponses: 0)
headers: {}
at /home/xxxx/_dev/ptm/server/src/Routes.ts:171:19
at step (/home/xxxx/_dev/ptm/server/src/Routes.ts:33:23)
at Object.throw (/home/xxxx/_dev/ptm/server/src/Routes.ts:14:53)
at rejected (/home/xxxx/_dev/ptm/server/src/Routes.ts:6:65)
at processTicksAndRejections (internal/process/task_queues.js:95:5)

Liegt wohl am self-signed cert. Hat zufällig jemand eine Lösung? Local certs kriegt man ja nicht, oder?

Oder gibt es vllt eine Möglichkeit Xentral weiterhin ohne SSL laufen zu lassen?


Problem gelöst. Wir haben uns jetzt über Let’s Encrypt mit certbot ein signiertes SSL-Zertifikat für unseren lokalen Server ausgestellt.

 

Hat jetzt vielleicht nicht unbedingt direkt mit Xentral zu tun, aber vielleicht hilft’s ja jemandem:

  1. https://certbot.eff.org/instructions?ws=nginx&os=debianbuster
  2. https://r.je/guide-lets-encrypt-certificate-for-local-development

Vielen Dank @hegro für das teilen der weiteren Ressourcen und das Update! Es freut mich sehr, dass du eine Lösung gefunden hast und diese hier sogar noch geteilt hast! :) 

Du scheinst dich aber auf jeden Fall in dem Bereich gut auszukennen! Ich kann mir vorstellen, dass man von diesem Post hier noch einiges lernen kann! 

LG 


Antworten