Partage
  • Partager sur Facebook
  • Partager sur Twitter

avoir accès à la page php autre port

Sujet résolu
    28 mai 2017 à 17:56:52

    Bonjour, j'ai un serveur qui à 2 dossiers:

    dossier 1 le front

    dossier 2 le backend

    le lance mon backend avec 

    php -S localhost:8000 

    ou 

    php -S 192.168.0.3:8000

    quand j'ouvre la page  192.168.0.3:8000/recupJson, j'ai bien mon json sous forme de texte (header text plaint)

    Par contre quand je suis dans le dossier 1 sur le front et que j'utilise ajax je n'arrive plus à récupérer mon Json ?

        $.ajax({
            url: '192.168.0.3:8000/recupJson',
            success: function (result) {
                result =JSON.parse(result);
                console.log(result);
            }
        });

    mon fichier front reste sur le port 80 par defaut
    comment procéder ?

    merci de vos réponse 

    -
    Edité par keo 28 mai 2017 à 17:59:04

    • Partager sur Facebook
    • Partager sur Twitter
    projet de création domotique avec beaglebone avec nodejs
      28 mai 2017 à 19:16:19

      merci de ta réponse,

      c'est à dire ?

      il faut ajouter un virtual host ? dans 000-defaut.conf ?

      <Virtualhost *80>
      </virtualhost>
      <Virtualhost *8000>
      </virtualhost>



      pour le moment il n'écoute que le port 80

      • Partager sur Facebook
      • Partager sur Twitter
      projet de création domotique avec beaglebone avec nodejs
        28 mai 2017 à 19:30:30

        Alors l'étoile matche tout ce qu'il remplace, donc faut choisir entre lui ou une valeur précise. Mais en plus de ça, le serveur dans son ensemble n'écoute problement que le port 80 ("Listen"), c'est à ajuster au début de la config.

        Ensuite, si ton site ne doit être déservit que sous le port 80 ou 8000 éventuellement sous une IP précise et un nom de domaine local précis autre que localhost, tu vas définir tout ça grâce à la section VritualHost (et à une clause ServerName à l'intérieur, pour le nom de domaine, et n'oublis pas de renseigner ton fichier hosts de ton système en fonction de ça).

        httpd-vhosts.conf

        <VistualHost 127.0.0.2:8000>
           ServerName monsite.local.qui.tue
           # Et le reste de la config ici
        </VirtualHost>

        etc/hosts

        127.0.0.2         monsite.local.qui.tue

        Résultat : testable sur http://monsite.local.qui.tue:8000


        -
        Edité par Darth Killer 28 mai 2017 à 19:31:12

        • Partager sur Facebook
        • Partager sur Twitter
          28 mai 2017 à 21:12:15

          j'ai modifier le fichier host et la conf d' apache

          j'ai fait un test avec curl: (je suis en ssh dans le serveur)

           curl -i http://api.domaine.fr:8000/introPage/11
          HTTP/1.0 200 OK
          Host: api.domaine.fr:8000
          Connection: close
          X-Powered-By: PHP/7.0.19-1~dotdeb+8.1
          Access-Control-Allow-Origin: *
          Cache-Control: no-cache, private
          Date: Sun, 28 May 2017 18:01:13 GMT
          Content-type: text/html; charset=UTF-8
          

          voici mon fichier apache (qui contient maintenant 2 virtual hosts)

          <VirtualHost 127.0.0.2:8000>
          ServerName api.domaine.fr
                  DocumentRoot /var/www/mdlrest/public
                  <Directory /var/www/mdlrest/public>
                          Options Indexes FollowSymLinks MultiViews
                          Require all granted
                  </Directory>
          
          </VirtualHost>


          et mon fichier host:

          127.0.0.2       api.domaine.fr

          j'ai redémarrer apache2 pas d'erreur

          coté console ( je suis sous lumen ) il a bien reçu la requête avec cette ligne:

          [Sun May 28 20:01:13 2017] 127.0.0.1:34721 [200]: /introPage/11

          Par contre avec ma requete ajax j'ai  (je suis dans un windows avec le navigateur chrome)

          jquery-3.2.1.min.js:4 GET http://api.domaine.fr:8000/introPage/11 net::ERR_NAME_NOT_RESOLVED





          -
          Edité par keo 28 mai 2017 à 21:14:25

          • Partager sur Facebook
          • Partager sur Twitter
          projet de création domotique avec beaglebone avec nodejs
            28 mai 2017 à 21:40:48

            Ensuite, si ton site ne doit être déservit que sous le port 80 ou 8000 éventuellement sous une IP précise et un nom de domaine local précis autre que localhost, tu vas définir tout ça grâce à la section VritualHost (et à une clause ServerName à l'intérieur, 

            je n'ai qu'un seul choix ? soit 80 soit 8000 ?

            doit-je faire un autre fichier conf (j'aurai le 000-defaut.conf qui aura le domaine.fr et par exemple api.conf qui aura comme domaine api.domaine.fr) ?

            • Partager sur Facebook
            • Partager sur Twitter
            projet de création domotique avec beaglebone avec nodejs
              29 mai 2017 à 7:47:00

              Non, mais il faut écouter les ports avec un ou plusieurs Listen avant de pouvoir définir différents hôtes virtuels dessus.
              • Partager sur Facebook
              • Partager sur Twitter
                29 mai 2017 à 7:55:22

                j'ai fait un petit test: (j'avais stapper qu'il fallait mettre tout en haut listen ....)

                Listen 80
                Listen 8000
                
                <VirtualHost 192.168.1.11:80>
                    ServerName dom.fr
                    DocumentRoot "/var/www/dom1"
                #    Require all granted
                </VirtualHost>
                
                <VirtualHost 192.168.1.11:8000>
                    ServerName dom.fr
                    DocumentRoot "/var/www/dom2"
                 #   Require all granted
                </VirtualHost>

                quand le lance :

                dom.fr => inaccessible
                dom.fr:8000=>inaccessible

                je commente les listens:

                #Listen 80
                #Listen 8000
                
                <VirtualHost 192.168.1.11:80>
                    ServerName dom.fr
                    DocumentRoot "/var/www/dom1"
                #    Require all granted
                </VirtualHost>
                
                <VirtualHost 192.168.1.11:8000>
                    ServerName dom.fr
                    DocumentRoot "/var/www/dom2"
                 #   Require all granted
                </VirtualHost>
                



                dom.fr => lecture de l'index ok
                dom.fr:8000 => inaccessible





                -
                Edité par keo 29 mai 2017 à 7:59:55

                • Partager sur Facebook
                • Partager sur Twitter
                projet de création domotique avec beaglebone avec nodejs
                  29 mai 2017 à 9:15:57

                  Pourquoi avoir commenté Require all granted ?

                  Décommente le Listen 8000 (tu as sûrement un Listen 80 plus tôt dans ta config déjà sinon même l'index n'aurait pas marché).

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 mai 2017 à 19:35:13

                    je l'ai commenter car j'ai une erreur si je relance apache2

                     Require not allowed here
                     Action 'configtest' failed

                    si je décommente le port 8000, j'ai le site inaccessible

                    sinon le fichier 000-defaut.conf et celui que j'ai mis , j'ai vous vidé il y a que ces 14 lignes ...

                    existe t'il une autre configuration apache2, j'ai remarqué que si je fait 

                    <VirtualHost 127.0.0.1:80>
                        ServerName dom.fr
                        DocumentRoot "/var/www/dom1"
                    #    Require all granted
                    </VirtualHost>
                    
                    


                    je me retrouve avec la page par défaut d'apache qui se trouve dans /var/www/html/index.html.

                    il n'a pas pris en compte le document route (dom1)

                    dans mon site site-available je n'ai que ces fichiers:

                     000-default.conf et default-ssl.conf

                    et dans site-enabled le lien symbolique 000-default.conf 

                    -
                    Edité par keo 29 mai 2017 à 19:44:10

                    • Partager sur Facebook
                    • Partager sur Twitter
                    projet de création domotique avec beaglebone avec nodejs
                      29 mai 2017 à 20:39:22

                      keo a écrit:

                      je l'ai commenter car j'ai une erreur si je relance apache2

                      Quelle version ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 mai 2017 à 2:23:10

                        Server version: Apache/2.4.10 (Debian)
                        je pense avoir trouvé la bonne config:
                        <VirtualHost domaine.fr:80>
                                ServerName domaine.fr
                                ServerAlias www.domaine.fr
                                DocumentRoot /var/www/test/
                        
                                <Directory /var/www/test/>
                                        Options Indexes FollowSymLinks MultiViews
                                        Require all granted
                                </Directory>
                        
                                ProxyPass / http://localhost:8000/
                        ProxyPassReverse / http://localhost:8000/
                        
                        </VirtualHost>
                        
                        
                        # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
                        Dans lumen, j'ai lancer mon api comme ceci:
                        php -S localhost:8000
                        dans 
                        <VirtualHost domaine.fr:80>
                        il vaut mieux mettre le nom de domaine pour une adresse ip ?
                        <VirtualHost 192.168.1.2:80>
                        si je met 
                        <VirtualHost localhost:80>
                        je tombe sur la page par defaut apache2

                        -
                        Edité par keo 30 mai 2017 à 4:01:56

                        • Partager sur Facebook
                        • Partager sur Twitter
                        projet de création domotique avec beaglebone avec nodejs
                          30 mai 2017 à 3:22:29

                          BONSOIR J'AI UN PROBLEME EN PHP JE VEUX FAIRE VALIDER MON BOUTON DE VALIDER SUR LA PAGE DE CONNEXION
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 mai 2017 à 10:23:47

                            tu peux pas mettre le nom de domaine directement dans le titre de la balise VirtualHost, celui-ci attend une IP (ou le joker *), éventuellement complété d'un port (ou du joker *). C'est en précisent une clause ServerName à l'intérieur que tu vas définir le nom de domaine à reconnaître.

                            Listen 80
                            <VirtualHost 127.0.0.2:*>
                               ServerName machin.local
                            </VirtualHost>
                            <VirtualHost 127.0.0.2:*>
                               ServerName machin.virtual
                            </VirtualHost>
                            

                            2 noms de domaines différents, 2 VirtualHost distincts, même s'ils sont sur la même IP et le même port. :)

                            C'est d'ailleurs comme ça que j'opère sur mes propres environnements AMP. Je mets une adresse IP par serveur Apache (car selon les versions de PHP à manipuler je peux être amené à utiliser plusieurs Apache simultanément), mais tous écoutent le port 80 et le port 443 (HTTPS) pour que les URLs ne soient pas polluées. Ensuite, via la clause ServerName de chaque VirtualHost, je distingue chaque projet par son nom de domaine, et j'utilise le fichier hosts pour déclarer ce nom de domaine et le lier à la bonne IP locale.

                            • Partager sur Facebook
                            • Partager sur Twitter

                            avoir accès à la page php autre port

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown