Site access problem

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 09 Σεπ 2014 15:45

Εχω στήσει ένα localhost web server (CentOS, Apache2, PHP, MySQL).
Σε αυτόν έχω στήσει 3 sites (με virtual hosts) τα οποία και κάνω access κανονικά από το intranet.

Προσπαθώντας να κάνω access έξω από το intranet μου συμβαίνει το εξής:
- χτυπάω την public ip του router (στον οποίο έχω ανοίξει το port 80) με άλλη σύνδεση (usb flash)
- ο router με κάνει redirect στην αρχική σελίδα του default site, στην οποία η εφαρμογή τρέχει κανονικά, καταγράφει την ip του visitor στη MySQL, και μετά προσπαθεί να κάνει redirect σε άλλη σελίδα. Οπως θα έπρεπε να κάνει.

Εκεί όμως κολλάει, και μου βγάζει ERR_CONNECTION_TIMED_OUT.
Το ίδιο σφάλμα μου βγάζει κι όταν "χτυπάω" οποιαδήποτε σελίδα από το address bar, οπότε μάλλον το μήνυμα είναι παραπλανητικό.

Καμμιά ιδέα για το τι συμβαίνει;

Edit Στον web server δεν έχει στηθεί dns.
Στο intranet, το access των sites γίνεται μέσω του hosts file.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Site access problem

Δημοσίευση από giannis17 » 10 Σεπ 2014 21:20

Όταν λες προσπαθεί να κάνει redirect σε άλλη σελίδα τι εννοείς; Δώσε το κώδικα του redirect.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 11 Σεπ 2014 10:56

Ενα απλό header location είναι που σε στέλνει από την index σε άλλη σελίδα.
Αλλά και από το address bar αν χτυπήσω οποιαδήποτε σελίδα πάλι το ίδιο πρόβλημα δημιουργείται.

Το μήνυμα πάντως που βγάζει δεν πρέπει να έχει σχέση γιατί αύξησα όλα τα όρια στο php.ini αλλά πάλι γίνεται το ίδιο.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Site access problem

Δημοσίευση από giannis17 » 11 Σεπ 2014 11:41

Αφού λοιπόν δεν μοιράζεσαι πληροφορίες ας ενεργοποιήσω τις μαντικές μου ικανότητες.
Βλέπω ένα σύννεφο, βγάλε ένα κατοστάρικο και κάνε αέρα να διαλυθεί...
Ε που το πας, το κατοστάρικο στο βάζο!

Πέρα από τη πλάκα, αν προσπαθείς να μπεις σε σελίδα που ανήκει σε virtual host μέσω του Internet χωρίς να τρέχεις dns θα πρέπει τότε να κάνεις bind κάθε virtual host διαφορετικό socket (ip:port), οπότε υποθέτοντας πως έχεις μόνο 1 IP στο μηχάνημα θα αλλάζεις τα ports όπως λέει και το apache manual εδώ: http://httpd.apache.org/docs/2.2/vhosts/ip-based.html

Έπειτα τα redirects θα είναι αυτής της μορφής:

Κώδικας: Επιλογή όλων

header('Location: http://' . $_SERVER["HTTP_HOST"].':81');
Αλλάζοντας το '81' στο port που έχεις ορίσει στο virtual host που θες να γίνει το redirect.


Άλλη λύση είναι να καταργήσεις τα virtual host και να τα κάνεις υποφακέλους. Μετά χρησιμοποιώντας local redirects (χωρίς ip ή domain, μόνο "subfolder/index.html") θα παίζουν κανονικά τα redirects.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 11 Σεπ 2014 12:19

Ε όχι και κατοστάρικο στο βάζο!
Για ευρώ μιλάμε :o

Πάντως το redirect είναι τόσο απλό όσο το παράδειγμά σου:

Κώδικας: Επιλογή όλων

header ('Location: '.MENU_LINKS_PATH.'home.php?lang=en:80');
.
Οπου το MENU_LINKS_PATH αντιστοιχεί στο /var/www/ κ.λ.π. κ.λ.π.

Θα δοκιμάσω το κολπάκι που μου έδειξες και θα σου πω.

Μια άλλη υποψία που έχω είναι μήπως στο path για κάποιο λόγο κόβεται από τις ρυθμίσεις του server το /var/www/to_site_mou/ και χρειάζεται να δώσω το http://to_site_mou/κ.λ.π.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Site access problem

Δημοσίευση από giannis17 » 11 Σεπ 2014 12:35

Βρήκα και μια λύση που δεν χρειάζεται να αλλάξεις πόρτες, δεν χρειάζεται καν redirect. Φτιάχνεις ένα αρχείο .htaccess στο /var/www/to_site_mou/ και βάζεις μέσα alias από τους φακέλους που θες να hostάρεις:

Κώδικας: Επιλογή όλων

Alias /docs /var/documents
Alias /music /var/mp3s
Οπότε όταν κάποιος μπει στο http://-η-IP-σου/docs θα του δείξει ότι έχεις μέσα στο /var/documents . Βέβαια δεν μπορείς να περάσεις μεταβλητές με αυτό τον τρόπο αλλά φαίνεται πολύ πιο εύκολο αφού έχεις απλά links στην αρχική σου.

Δε μου έχει χρειαστεί ποτέ να κάνω alias και δεν το θυμήθηκα πριν.

Δεν ξέρω κατα πόσο παίζει με δυναμικά αρχεία. Τσέκαρε εδώ: http://httpd.apache.org/docs/2.2/urlmapping.html στο "Files Outside the DocumentRoot"
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 11 Σεπ 2014 12:55

Εκτός του ότι υπάρχει ήδη ένα htaccess, το οποίο έχει ένα σκασμό alias μέσα οπότε θα γίνει χαμός, το redirect link είναι πολύ απλό. Υπάρχουν άλλα links τα οποία περνούν μεταβλητές. Οπότε αφού με αυτόν τον τρόπο δεν μπορούν να περάσουν μεταβλητές θα υπάρξει αλλού πρόβλημα.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 11 Σεπ 2014 16:08

Μπα.
Τίποτα :evil:

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Site access problem

Δημοσίευση από gvre » 14 Σεπ 2014 09:57

Apostolis_38 έγραψε:Εχω στήσει ένα localhost web server (CentOS, Apache2, PHP, MySQL).
Σε αυτόν έχω στήσει 3 sites (με virtual hosts) τα οποία και κάνω access κανονικά από το intranet.

Προσπαθώντας να κάνω access έξω από το intranet μου συμβαίνει το εξής:
- χτυπάω την public ip του router (στον οποίο έχω ανοίξει το port 80) με άλλη σύνδεση (usb flash)
- ο router με κάνει redirect στην αρχική σελίδα του default site, στην οποία η εφαρμογή τρέχει κανονικά, καταγράφει την ip του visitor στη MySQL, και μετά προσπαθεί να κάνει redirect σε άλλη σελίδα. Οπως θα έπρεπε να κάνει.

Εκεί όμως κολλάει, και μου βγάζει ERR_CONNECTION_TIMED_OUT.
Το ίδιο σφάλμα μου βγάζει κι όταν "χτυπάω" οποιαδήποτε σελίδα από το address bar, οπότε μάλλον το μήνυμα είναι παραπλανητικό.

Καμμιά ιδέα για το τι συμβαίνει;

Edit Στον web server δεν έχει στηθεί dns.
Στο intranet, το access των sites γίνεται μέσω του hosts file.
Για να δεις τα sites έξω από το intranet θα πρέπει να ρυθμίσεις το hosts* να δείχνει στην public ip σου και να κάνεις forward τα requests από το port 80 του router στον web server. Τα έχεις κάνει αυτά;

* Αν έχεις πρόσβαση σε DNS γίνεται και με άλλο τρόπο.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 15 Σεπ 2014 21:13

Ναι, αυτά είναι εντάξει.
Το περίεργο είναι οτι βλέπω την αρχική σελίδα των sites αλλά μετά μου πετάει σφάλματα.
Και τα δύο τα sites που προσπαθώ να δω έχουν φτιαχτεί με παρόμοιο τρόπο οπότε δεν μπορώ να καταλάβω αν φταίει ο apache ή η εφαρμογή ώστε να προσανατολιστώ που μπορεί να είναι το σφάλμα.

Πάντως αν φτιάξω άσχετες test σελίδες και τις «χτυπήσω» από το address bar τρέχουν κανονικά.
Αν πάω να κάνω το ίδιο με «κανονικές» σελίδες των sites, μου βγάζει σφάλματα.
Και το κάνουν είτε υπάρχει htaccess και php.ini αρχείο είτε όχι στον εκάστοτε root folder.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Site access problem

Δημοσίευση από gvre » 16 Σεπ 2014 12:39

Apostolis_38 έγραψε: Πάντως το redirect είναι τόσο απλό όσο το παράδειγμά σου:
κώδικας:
header ('Location: '.MENU_LINKS_PATH.'home.php?lang=en:80');
.
Οπου το MENU_LINKS_PATH αντιστοιχεί στο /var/www/ κ.λ.π. κ.λ.π.
Αν το redirect είναι το παραπάνω, τότε είναι λάθος. Αρχικά, αφαίρεσε το :80, το οποίο έτσι κι αλλιώς είναι σε λάθος θέση (και δεν έχει νόημα ύπαρξης αν το default port είναι το 80). Επίσης, όταν κάνεις redirect δε χρειάζεται το path των αρχείων στον δίσκο, αλλά το σχετικό path που έχουν μέσα στο document root. Αν η home.php είναι στον βασικό κατάλογο του site, τότε αρκεί ένα

Κώδικας: Επιλογή όλων

header('Location: /home.php?lang=en');

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 16 Σεπ 2014 12:50

- Το path κανονικά δεν είναι έτσι. Το port 80 το έβαλα για να δοκιμάσω τον τρόπο του giannis17.

- Ναι, κανονικά χρειάζεται το path μέσα στο site folder αλλά το δοκίμασα και με το absolute path στον δίσκο.
Δεν παίζει με κανέναν από τους δύο τρόπους.

Κάπου αλλού είναι το πρόβλημα ρε γαμώτο, γιατί μπαίνει στην εφαρμογή (αρχική σελίδα όπου απλώς καταγράφει την ip σου και μετά κάνει redirect στην δεύτερη "αρχική" σελίδα).
Μετά, όταν είναι να σερβίρει ο Apache τις υπόλοιπες σελίδες της εφαρμογής, δημιουργείται το μπέρδεμα.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Site access problem

Δημοσίευση από gvre » 16 Σεπ 2014 12:53

Δώσε λεπτομέρειες σχετικά με τη δομή των αρχείων/φακέλων και των rewrites. Επίσης, αν ο σκοπός την 1ης σελίδας είναι μόνο να καταγράφει την ip, σβήσε την και κάνε αρχική τη 2η σελίδα.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 17 Σεπ 2014 11:17

Ok, μόλις βρω χρόνο θα ποστάρω πιο αναλυτικά.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Site access problem

Δημοσίευση από Apostolis_38 » 22 Σεπ 2014 12:13

Αστο παληκάρι, άκυρο το project :evil:

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης