Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/02/2008, à 14:37

tekman54000

Passerelle MySQL - Apache2

Salut a tous,

J'ai un petit probleme, j'ai besoin de faire des requetes sur ma base MySQL (le daemon ecoute sur le port 3306). Cependant il faut impérativement que je passe par le port 80 pour faire les requetes...

Probleme : j'ai déja apache qui tourne sur la machine hote de la BD, donc je ne peux pas changer le port d'ecoute du daemon MySQL vers le port 80.

Y aurait-il une solution pour faire "router" les infos recues par apache sur une certaine URL par ex : http://IP/routage/transfert vers le port 3306 directement.

J'ai vu qu'il existait un mod_SQL sur certains site mais j'ai pas tout compris...

J'espere que vous pourrez m'aider.


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#2 Le 10/02/2008, à 05:29

gpernot

Re : Passerelle MySQL - Apache2

yep,

apache ne va pas comprendre que tu le requêtes avec le protocole MySQL et pas HTTP...
tu ne peux pas faire comme ça...

il te faudrait, par exemple, une autre machine à  l'exterieur et un tunnel http vers l'interieur de ton réseau, pour faire un relais...

bonnes recherches ! wink

a++


guillaume pernot
http://www.praksys.org

Hors ligne

#3 Le 10/02/2008, à 12:41

tekman54000

Re : Passerelle MySQL - Apache2

ok je vois, mais est ce que tu saurais comment faire le relais en faisant un tunnel? je vois pas trop ou tu veux en venir...


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#4 Le 10/02/2008, à 13:24

gpernot

Re : Passerelle MySQL - Apache2

yep,

à  ce que je comprends de ton problème : un firewall ne laisse passer que le port 80 depuis l'extérieur, tu as un LAN à  l'intérieur qui peut attaquer n'importe quel port de ton serveur.

c'est ça ?

auquel cas, tu peux faire un tunnel depuis l'extérieur vers ton lan et rediriger ainsi les requêtes vers le port 3306.

mais peut-être ai-je mal compris...

a++


guillaume pernot
http://www.praksys.org

Hors ligne

#5 Le 10/02/2008, à 16:28

tekman54000

Re : Passerelle MySQL - Apache2

ben en expliquant plus clairement :

Machine de démo dans un reseau (Faculté de nancy) wifi, avec comme seul port ouvert vers l'extérieur, le port 80.

La machine de démo a besoin de se connecter a un serveur distant sur une BD MYSQL. Comment reussir a contacter le serveur distant alors que celui ci a déja apache qui tourne sur le port 80

Voila je pense que c'est plus clair.


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#6 Le 10/02/2008, à 17:20

jak0lantash

Re : Passerelle MySQL - Apache2

Salut,

Je vais peut-être dire une connerie, mais y a peut-être une alternative...
Pour exécuter les requêtes MySQL sur le serveur distant, tu pourrais pas appeler un script PHP (du serveur Apache distant) qui te renverrai le résultat de la requête ?

C'est peut-être débile comme idée. Je connais pas trop les système Unix. J'essaye juste d'aider wink;)

Hors ligne

#7 Le 10/02/2008, à 20:24

tekman54000

Re : Passerelle MySQL - Apache2

ben en fait je pense pas que ca soit possible car on utilise le JDBC Hibernate, donc en fait on sait pas trop ce que donne comme commande le JDBC. Car hibernate cré directement la connexion avec la BD, fait la requete, et recupere le code. Et comme c'est un Projet, on est obligé de passer par Hibernate donc si tu vois comment faire ca m'enleverai une sacré épine du pied...
L'idéal ca serait qu'hibernate envoie sa "sauce" sur une adresse spécifique qui elle meme (l'adresse) renvoie tout sur le port 3306. En gros faut ecouter sur une page et tt rebalancer sur le port 3306 et inversement pour la réponse... Mais je crois que c'est un trop gros casse tête... a moins que tu es ou que quelqu'un ai une idée smile


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#8 Le 10/02/2008, à 20:26

tekman54000

Re : Passerelle MySQL - Apache2

En fait en vulgarisant le problème, il me faudrais l'équivalent a un NAT sur une page web smile et la ca serait le pied


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#9 Le 10/02/2008, à 21:03

jak0lantash

Re : Passerelle MySQL - Apache2

Un NAT sur une page Web, c'est quand même tendu !!!
Je connais pas du tout Hibernate ni de "vrais" solutions à ton problème.
Désolé donc, mais les seules choses que je pourrais te proposer seront des vieilles combines (compliquées et qui ne marcheront certainement pas) hmm:/

Hors ligne

#10 Le 11/02/2008, à 01:50

gpernot

Re : Passerelle MySQL - Apache2

yep,

il te faut une bécane dehors o๠tu puisse installer httptunnel :

apt-get install httptunnel

et ensuite, un truc du genre :

hts -F le.my.sql:3306 80

a++


guillaume pernot
http://www.praksys.org

Hors ligne