Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Richieste con file_get_contents da HTTPS ad HTTP

    ciao!

    so che sto per fare una domanda banale, e probabilmente conosco già la risposta.
    la speranza è che ci sia qualcosa che non conosco.

    in sostanza ho una API, non fatta da me, su un server VPS che gira in HTTP: http://1.2.3.4:1337/announcements
    ('l'ip è fasullo ovviamente).

    ora devo prendere quei dati e schiaffarli su un sito con wordpress.
    ma ovviamente mi va in errore, in quanto il sito sta su HTTPS.
    ho provato a mettere una qualsiasi API in HTTPS ed ha funzionato.

    sul wordpress in locale sul mio, ovviamente funziona anche quella in HTTP.
    ed ovviamente è raggiungibile da terminale.

    quindi do per scontato che il problema sia la sicurezza.
    è possibile fare qualcosa secondo voi??

  2. #2

  3. #3
    ciao!

    allora, il codice è questo:
    codice:
    function get_json($attr) {
    
        $baeUrl = 'http://IP_SERVER:1337/announcements';
    
        $args = shortcode_atts(array(
            'url' => $baeUrl,
        ), $attr);
    
    
        $url = $args['url'];
        if (empty($url)) {
            $url = $baeUrl;
        }
    
        $data = file_get_contents($url);
        $json = json_decode($data, true);
    
        var_dump($args);
        echo '<hr>';
        var_dump($data);
        echo '<hr>';
        var_dump($json);
    
        $html = '';
    //    foreach ($json as $j) {
    //        $html .= $j['title'] . '<br>';
    //    }
    
    //    var_dump($html);
    
        return $html;
    }
    
    add_shortcode('cms-plugin', 'get_json');
    e viene richiamato all'interno di un plugin di wordpress.
    sulla pagina vedo questo:
    codice:
    array(1) { ["url"]=> string(39) "http://IP_SERVER:1337/announcements" } 
    ---------------------------
    bool(false) 
    ---------------------------
    NULL
    ovviamente se lancio un curl su quell'indirizzo funziona.
    come anche se al posto di quell'indirizzo ci metto una qualsiasi API con HTTPS funziona.

  4. #4
    domanda tanto per capire: il server VPS che adesso è in HTTP non può funzionare in HTTPS?

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    domanda tanto per capire: il server VPS che adesso è in HTTP non può funzionare in HTTPS?
    eh ci sto "lavorando" in parallelo.
    nel senso che sopra ci stanno tutta una serie di container docker (non fatti da me) con apache, nginx, mysql, ecc.
    non vorrei fare danni.

    quindi al momento avrei queste possibilità:
    1) mettere su un altro VPS ad-hoc (sarebbe la cosa migliore, così non faccio casino con roba non mia)
    2) continuare ad usare HTTP in qualche modo (ma in realtà non vedo modi)
    3) cercare di contattare chi ha messo su tutti quei container, e far fare la configurazione a lui

    spero nel primo punto!

  6. #6
    4) mettere in piedi un gateway (wordpress -> gateway HTTPS -> attuale server HTTP)

  7. #7
    Secondo me il problema è che dal server dove ospiti lo script NON puoi connetterti a una porta non standard (1337 invece di 80) a causa di regole del firewall in uscita.

    Se usi fsockopen per tentare la connessione, che errore ottieni nel relativo parametro?

  8. #8
    ciao!

    allora, il firewall al momento non c'è proprio.

    cmq hanno deciso di spostare su un vps, a cui reindirizzare un sotto dominio dedicato.
    quindi dovrò configurarlo con apache, ssl, ecc.

    sulla carta dovrei stare a posto!
    vi faccio sapere!

  9. #9
    ciao!

    alla fine ho configurato il nuovo VPS con apache, impostato un dominio e un certificato.
    ho configurato apache con un proxy per puntare alla porta 1337.
    funziona tutto in HTTPS.

    ciao!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.