Πως μια αλλαγή στον Chrome επιρρεάζει το development σε Vagrant

Πως μια αλλαγή στον Chrome επιρρεάζει το development σε Vagrant

Ο τρόπος που έχουμε επιλέξει στην ομάδα της Nannuka για να κάνουμε το development είναι μέσω του Vagrant.

Πρόκειται για ένα πολύ ωραίο σύστημα που διαχειρίζεται virtual machines τα οποία στήνονται ακριβώς με τον ίδιο τρόπο, μέσα από απλά configuration files. Έτσι ο κάθε developer έχει στημένο στο PC του ένα μίνι-server, με τις ίδιες προδιαγραφές με τον production server. Κάθε φορά που θέλει να κάνει δοκιμές, με μια απλή εντολή (vagrant up) ενεργοποιεί το συγκεκριμένο VM για όσο χρειάζεται και δοκιμάζει ότι θέλει.

Για την πρόσβαση σε αυτό το VM η συνηθισμένη τακτική είναι ένα apache host του τύπου π.χ. nannuka.dev, το οποίο είναι παράλληλα περασμένο στο hosts αρχείο του λειτουργικού συστήματος. Έτσι, αν χτυπήσω στον browser μου “nannuka.com” βλέπω το production site, ενώ αν χτυπήσω “nannuka.dev” βλέπω το τοπικό copy.

Αυτό βολεύει επίσης πάρα πολύ και σε περιπτώσεις που κάποιος θέλει να δοκιμάσει intergration με oAuth υπηρεσίες (π.χ. Facebook, Google) που κάνουν whitelist συγκεκριμένα domain και δεν επιτρέπουν local IPs.

Μια πρόσφατη αλλαγή όμως στον Chrome μας δημιούργησε ένα πρόβλημα. Κάποια στιγμή το domain nannuka.dev άρχισε να κάνει αυτόματα redirect στο https:// nannuka.dev – στην secure έκδοση του δηλαδή – που όμως λόγω έλειψης τοπικού ssl certificate, δεν λειτουργούσε.

Μετά από αρκετό ψάξιμο, βρήκαμε την αιτία: Chrome 63 forces .dev domains to HTTPS via preloaded HSTS.

Google gTLD ApplicationsΟ Chrome έρχεται με μια default προφορτωμένη λίστα με διάφορα γνωστά site που γνωρίζουμε ότι στέλνουν το HSTS Header, το οποίο επιβάλει στον browser να φορτώνει το site μέσω ssl. Σε αυτή τη λίστα περιέχονται και κάποια LTDs (τα gLTDs δηλαδή) – και ένα από αυτά είναι το .dev, το οποίο πλέον είναι επίσημο TLD που ανοίκει στο Google.

Τα domain από αυτή τη λίστα δεν μπορούν να διαγραφούν τοπικά (για τα υπόλοιπα, υπάρχει η σελίδα chrome://net-internals/#hsts). Έτσι η λύση είναι απλή:

Αλλάζουμε το virtual host από nannuka.dev σε nannuka.test. Problem solved 🙂

Happy coding

Απάντηση

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.