Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημερα, θελω να αφαιρεσω την ssl ασφαλεια οταν συνδεομαι στο localhost σε συγκεκριμενη port. Δηλαδη οταν πληκτρολογω http://localhost:8191 μου βγαζει οτι δεν επιτρεπεται η προσβαση. Ενω οταν βαζω https://localhost:8191 μπαινει κανονικα. 

Εχω προσπαθησει με αρκετους τροπους που εχω βρει στο ιντερνετ αλλα ματαια....επισης χρησιμοποιω το xampp. 

Δημοσ.

Sorry δεν το έχω θέσει καθόλου σωστά.... 

Έχω ένα αρχείο php στο οποίο έχω γράψει έναν κώδικα που θέλω να παίρνω δεδομένα από το https://localhost:8191

Αλλά μου βγάζει σφάλμα για ssl. 


 
$xml = simplexml_load_file($xml_query);
Έτσι προσπαθώ να φορτώσω το localhost... 
Δημοσ.

Το έχω κάνει αλλά όταν πάω να φορτώσω τη σελίδα. Μου βγάζει σφάλμα για το ssl κτλ. 

simplexml_load_file(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed 

 

Δημοσ.
$context = [
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ],
];  

$xml = file_get_contents($url, false, stream_context_create($context));

και μετά χρησιμοποιείς simplexml_load_string.

Αλλά καλό θα ήταν να καταλάβεις ποιό είναι το πρόβλημα και γιατί λύνεται έτσι και πότε αυτό δεν είναι λύση.

  • Thanks 1
Δημοσ. (επεξεργασμένο)

Την στιγμή που έχεις https χρειάζεται certificate. Έβαλες ssl certificate στο apache;

Μιας και τρέχεις σε localhost και όχι registered domain πρέπει να βάλεις ένα self signed ssl certificate. 

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04

Επεξ/σία από ajaxmonkey4hire
Δημοσ.

Γκάιζ, το πρόβλημά του είναι ακριβώς ότι έβαλε certificate, πιθανόν self-signed, που δεν επιβεβαιώνεται από κάποιο trust chain γιατί είναι ψευτοcertificate του είδους "μόνο για development".

Τρεις είναι οι πιθανές λύσεις και μόνο:

  1. Λες στον client σου να μην ασχοληθεί να επιβεβαιώσει (αυτό που έγραψα παραπάνω)
  2. Προσθέτεις στο local trust chain κάποιο κατάλληλο authority (αυτό γενικά δε θες να το κάνεις ποτέ εκτός αν είσαι εταιρία, και σίγουρα όχι για dev χαζομαρίτσες)
  3. Βάζεις κανονικό certificate (αγορασμένο ή Let's Encrypt)  -- αλλά πρέπει να έχεις κανονικό hostname κλπ για να δουλέψει αυτό και γενικά δεν το κάνεις αν δεν έχεις μόνιμο επίσημο dev environment

 

Δημοσ. (επεξεργασμένο)

<?php 
$context = [
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ],
];  
$url = "https://admin:[email protected]:8191/stats";
$xml = file_get_contents($url, false, stream_context_create($context));
$xml = simplexml_load_string($url);

 

Αυτο ειναι σωστο;

 

edit: 

<?php 
$context = [
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ],
];  

$url = "https://admin:[email protected]:8191/stats";
$xml = file_get_contents($url, false, stream_context_create($context));

$xml = simplexml_load_string($xml);

το εβαλα ετσι και ειναι κομπλε!!! 

Σας ευχαριστω....αν χρειαστω κατι αλλο θα σας ενοχλησω...

Επεξ/σία από BloodDonor89

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...