Socket-Fehler - SSL
- YRewrite
- Multidomain
- Indexierung erfolgte Lokal
- Domains sind auch Lokal vorhanden wie
- https://domain-a.localhost
- https://domain-b.localhost
Fehlermeldung bei Schrittweiser Indexierung
Warning | nicht indexiert, Socket-Fehler https://domain.localhost/path/?search_it_build_index=do-it-with-yrewrite fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Diese Warning kommt bei jeder Domain. Somit auch die, mit der ich im Backend eingeloggt bin und es keinen Zertifikatshinweis gibt..
Puh. Da weiß ich wirklich nicht... Ich habe kein SSL lokal am Start. Ehrlich gesagt klingt die Fehlermeldung auch nicht nach etwas, was unmittelbar/notwendigerweise mit search it zu tun hat. Google meint, es könnte was mit HTTP-Headern zu tun haben, die ich meinem Socket-Aufruf mitgeben müsste... das übersteigt aber gerade meine Möglichkeiten.
Fände es gut, wenn man das Indexieren auch ohne socket machen könnte. So benötigt man erst einmal ein Zertifikat für die Domain und kann lokal bzw. auf der Arbeitsdomain nicht weiter arbeiten.
https://www.php.net/manual/de/context.ssl.php kann man evtl parametrisch abschalten.
Sorry, ich bin immer noch auf dem Stand, dass da bei dir steht "certificate verify failed". Du möchtest doch lokal verschlüsselt mit deiner website kommunizieren, weil du sie ja mit https ansprichst. Aber die search it-Aufrufe sollen dann unverschlüsselt sein oder mit einem nicht verifizierbaren Zertifikat funktionieren? Oder meinst du das verifiziert nur nicht über sockets? Da verstehe ich irgendwas noch nicht.
Und mit "ohne Socket" meinst du jetzt "nicht über das Frontend" indexieren?
Man kann lokal aktuell search_it nicht nutzen, da eine Indexierung nicht funktioniert. So kann man den Code der Module nicht weiter entwickeln und ist darauf angewiesen das ganze online zu stellen.
Ein Zertifikat ist lokal nach getgrav.org hinterlegt. Das wird scheinbar aber nicht akzeptiert. Daher finde ich, sollte es in search_it eine Möglichkeit geben zur Not den ganzen Teil auch via Backend indexieren zu können oder eben ggf. über eine Option die unter dem Link von @alexplusde vorhanden ist.
Warum formulierst du das so? Das nervt echt. Natürlich kann man search it lokal nutzen. Man kann search it lokal nicht mit einem self-signed-Zertifikat nutzen. Korrekt. Weil man im Gegesatz zum Browser nicht die Möglichkeit hat auf "ignorieren - ich weiß was ich tue" zu klicken. Ich entwickle halt lokal immer ohne https. Ich habe wohl keine Fälle wo es auf https ankommt.
Das andere ist das alte Thema. Frontend vs Backend. Ich hab schon gemerkt ich komme um das Anbieten eines "Backend-Modus" auf lange Sicht nicht herum.
Warum formulierst du das so? Das nervt echt.
Das ist halt der aktuelle Stand. Das es nervt sorry. Ich schließe.
Auf http umzustellen für den Moment der Indexierung ist keine Option?
Auf http umzustellen für den Moment der Indexierung ist keine Option?
Kann man sicherlich machen, aber willst du wirklich jedesmal alles vor und nach dem Indexieren ggf. htaccess, yrewrite und die Systemseite anpassen wollen?
Jedes Mal... bei mir sind das dann nur 2-3 Mal, aber bei dir ist das vielleicht anders.
Ich war aber auch kein Fan davon, die anderen Indexierungsoptionen zu streichen und das weiß @tyrant88. #108
Das andere ist das alte Thema. Frontend vs Backend. Ich hab schon gemerkt ich komme um das Anbieten eines "Backend-Modus" auf lange Sicht nicht herum.
Das ist doch eine konstruktive Perspektive, wäre das für dich gut? @tbaddade
Das eigentliche Problem ist imho, dass es nicht so leicht ist, Tools wie open-ssl am heimischen Rechner in Betrieb zu nehmen. Wenn man das macht, ist man verschiedene Probleme los.
Das ist doch eine konstruktive Perspektive, wäre das für dich gut?
Sicherlich und das würde nicht nur uns helfen.
Weiß jemand, ob sich bei diesem Problem hier im letzten Jahr etwas getan hat?
Ja, ich. Ich habe an search it dahingehend noch nichts geändert. Die rex_socket Library kann glaube ich immer noch nicht mit self-signed certificates arbeiten.
Ich weiß nicht wie experimentierfreudig du bist, du könnst mal als finsteren Hack probieren die Zeile https://github.com/redaxo/redaxo/blob/master/redaxo/src/core/lib/util/socket/socket.php#L339 damit
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'allow_self_signed' => true
]
]);
$this->stream = @stream_socket_client($host.':'.$this->port, $errno, $errstr, ini_get("default_socket_timeout"), STREAM_CLIENT_CONNECT, $context);
zu ersetzen. Würde mich interessieren, ob das funktioniert.
Danke für den Hack, aber leider auch hier Socket-Fehler
03.02.2021 14:50:30 | Error | nicht indexiert, Socket-Fehler: https://domain-a.localhost/article/?search_it_build_index=do-it-with-yrewritestream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
versuch noch mal "verify_peer"=> false
am Besten noch 'verify_peer_name' => false dazu
Das sieht schon besser aus. Der Index wurde erstellt. Dazu kamen zwei Warnings. Weiß nicht ob du diese bereits kennst. Hat aber nichts weiter mit dem Issue zu tun.
Warning: Invalid argument supplied for foreach() in src/addons/search_it/lib/search_it.php on line 360
Warning: Invalid argument supplied for foreach() in src/addons/search_it/lib/search_it.php on line 1100
Index wurde erstellt
Wie jetzt weiter? Issue für die Socket-Klasse aufmachen oder magst du hier im AddOn etwas erweitern?
Lass das hier auf jeden Fall mal offen.
Man könnte es tatsächlich diskutierien, ob man der rex_socket-Klasse die Möglichkeit gibt SSL verify abzuschalten.. also dort gern ein issue.
Ah sehe gerade dergel hat das in 5.13 eingebaut, cool. Dann muss ich das irgendwie auch bei mir reinnehmen...
Heisst das ich kann bald search it lokal testen und einrichten?? das wäre sooooo toll!
kannst du ohne SSL auch so schon :-) Ja kommt bald. muss nur noch überlegen WIE ich das einbaue...
- [ ] Ich will lokal mit meinem eigenen Rechner verschlüsselt kommunizieren :-)
Ist im neuen Release eingebaut ab REDAXO 5.13