Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1659 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [POSTGRESQL] lancer sur port 80

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[POSTGRESQL] lancer sur port 80

n°931111
no_code
This Magic Moment ...
Posté le 23-12-2004 à 18:29:35  profilanswer
 

Le port par défault de postgresql est 5432,
je veux le lancer sur le port 80.
 
je fait donc :  
 

Code :
  1. /usr/bin/pg_ctl -D /var/lib/pgsql/data/ -o '-p 80 -i' start


 
et j'ai ca :
 

Code :
  1. bash-2.05$ /usr/bin/pg_ctl -D /var/lib/pgsql/data/ -o '-p 80 -i' start
  2. postmaster successfully started
  3. bash-2.05$ LOG:  could not create IPv6 socket: Famille d'adresses non supportée par le protocole
  4. LOG:  could not bind IPv4 socket: Permission non accordée
  5. HINT:  Is another postmaster already running on port 80? If not, wait a few seconds and retry.
  6. FATAL:  could not create TCP/IP listen socket


 
alors que pour 8080 par example, ca marche.
 
 :sweat:


Message édité par no_code le 23-12-2004 à 18:30:22
mood
Publicité
Posté le 23-12-2004 à 18:29:35  profilanswer
 

n°931214
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-12-2004 à 20:33:35  profilanswer
 

tu es bien entendu au courant que le port 80 est resérvé au protocole HTTP, et donc que non seulement, au niveau sécurité, c'est n'importe quoi de foutre un serveur sur ce port, mais qu'en plus, tu empêches tout le monde d'accéder à Internet ? [:itm]


---------------
J'ai un string dans l'array (Paris Hilton)
n°931318
Bufff
Posté le 24-12-2004 à 01:50:33  profilanswer
 

Le problème, c'est que 80 est plus petit que 1024. Sous Unix, les ports en dessous de 1024 sont dits privilégiés, et seul l'utilisateur root peut se mettre en écoute dessus. C'est pour ça que ça passe avec 8080 et pas 80.
Il faut donc que ton postgresql soit lancé par root.
Maintenant, faire tourner un soft de la complexité d'une bdr en tant que root, c'est vraiment pas génial au niveau sécurité, et je te le déconseille chaudement (surtout que j'imagine que le port 80, c'est pour contourner un firewall, et avoir un serveur de bases de données visible sur Internet, c'est pas génial non plus niveau sécu)

n°931424
no_code
This Magic Moment ...
Posté le 24-12-2004 à 12:20:34  profilanswer
 

Harkonnen a écrit :

tu es bien entendu au courant que le port 80 est resérvé au protocole HTTP, et donc que non seulement, au niveau sécurité, c'est n'importe quoi de foutre un serveur sur ce port, mais qu'en plus, tu empêches tout le monde d'accéder à Internet ? [:itm]


 
Merci pour cette réponse constructive.

n°931428
no_code
This Magic Moment ...
Posté le 24-12-2004 à 12:23:51  profilanswer
 

Bufff a écrit :

Le problème, c'est que 80 est plus petit que 1024. Sous Unix, les ports en dessous de 1024 sont dits privilégiés, et seul l'utilisateur root peut se mettre en écoute dessus. C'est pour ça que ça passe avec 8080 et pas 80.
Il faut donc que ton postgresql soit lancé par root.
Maintenant, faire tourner un soft de la complexité d'une bdr en tant que root, c'est vraiment pas génial au niveau sécurité, et je te le déconseille chaudement (surtout que j'imagine que le port 80, c'est pour contourner un firewall, et avoir un serveur de bases de données visible sur Internet, c'est pas génial non plus niveau sécu)


 
Pour la sécurité, c'est un autre problème, merci toutefois de me  
mettre en garde.
J'en suis arrivé à la même conclusion que toi, faire tourner  
postgres en root, même si c'est moche.
Reste à trouver comment faire.
 

n°931444
Bufff
Posté le 24-12-2004 à 13:30:24  profilanswer
 

Ça va pas forcément être simple. Il me semble que les scripts de lancement refusent de lancer PostgreSQL en root, et il y a peut-être aussi ce genre de vérification dans l'exécutable lui-même (je n'ai pas regardé)
Sinon, une autre solution, beaucoup plus sûre : pourquoi ne pas mettre un serveur SSH (éventuellement sur le port 80), et passer par un tunnel?

n°931445
no_code
This Magic Moment ...
Posté le 24-12-2004 à 13:44:36  profilanswer
 

autre idée :  
modifier le code source de postgres :
 
It's backend/main/main.c that checks the username with geteuid(). If you disable it and re-compile the file, postmaster will not check the username.

n°931447
manatane
En vous remerciant, bonsoir
Posté le 24-12-2004 à 13:48:23  profilanswer
 

Mais pourquoi faire tourner des trucs sur un port réservé et pas pour eux? J'arrive pas à voir l'intéret de faire tourner un SGBDR sur le port 80... Si tu veux administrer ton SGBDR à travers le net il existe plein d'interface web d'administration.
 
Si çà peut aider, si tu regardes ton /etc/services tu verras comment tout les numeros de ports sont attribués sur ton système (<1024 ils sont attribués par l'IANA, de 1024 à 49151 ils sont enregistrés comprendre non officiellement attribués mais il vaut mieux les laisser comme tels enfin de 49152 à 65535 ils sont disponibles pour tout usage)
 

n°931449
no_code
This Magic Moment ...
Posté le 24-12-2004 à 13:53:15  profilanswer
 

Connexion à la base depuis des machines dans une administration française dont le firewall ne permet que de passer par le port 80 pour me connecter à la base.
 
Bien evidement, ils ne veulent pas modifier le parametrage  
du firewall, ca serait trop simple !
 
 
 

n°931451
manatane
En vous remerciant, bonsoir
Posté le 24-12-2004 à 13:57:35  profilanswer
 

Ben tu passes par une interface d'administration web genre phpmyadmin et pis voilà tu auras juste à configurer ton SGBDR et pas la conf réseau du système à laquelle il faut pas toucher

mood
Publicité
Posté le 24-12-2004 à 13:57:35  profilanswer
 

n°931452
manatane
En vous remerciant, bonsoir
Posté le 24-12-2004 à 14:00:39  profilanswer
 

Moi j'ai utilisé çà http://phppgadmin.sourceforge.net/

n°931454
no_code
This Magic Moment ...
Posté le 24-12-2004 à 14:02:42  profilanswer
 

C'est pas pour administrer, c'est pour une appli cliente
de la base, qui doit y acceder en jdbc, par le firewal.
 

n°931457
manatane
En vous remerciant, bonsoir
Posté le 24-12-2004 à 14:16:01  profilanswer
 
n°931466
no_code
This Magic Moment ...
Posté le 24-12-2004 à 14:32:10  profilanswer
 

Sympa ! j'étais justement déjà en train de tester ça !
Merci bcp matanane.

n°931902
miniserveu​r
Dual Screen
Posté le 25-12-2004 à 23:37:04  profilanswer
 

Ou alors ....
 
....Webmin


---------------
www.sagis.tk

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [POSTGRESQL] lancer sur port 80

 

Sujets relatifs
Ecouter le port d'une imprimanteLancer des applications externes ?
s'initier a la programmation port parallele/serie etcLancer un .exe depuis n importe quel repertoire
Exemple de source pour piloter le port parallèle[PostgreSql] Index et type
Lancer une fonction depuis une autre...[Struts] lancer une action dans le code jsp
[C/UNIX] tester les port ouvert en TCPprogrammation port serie
Plus de sujets relatifs à : [POSTGRESQL] lancer sur port 80


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR