Redirect 301 HTTPS στο App Engine με nginx στο Google Cloud Platform
Μπορείς να μάθεις πώς να ανακατευθύνεις τα HTTP requests σε HTTPS εύκολα. Το AppEngine και ο nginx θα λειτουργούν ομαλά μετά από αυτό το tutorial.

Άρχισα να παίζω με το App Engine στο Google Cloud Platform αυτές τις μέρες. Χρησιμοποιώ flexible environment με custom runtime για να τρέχω PHP σε Docker. Το App Engine σερβίρει το περιεχόμενο μέσω HTTP και HTTPS. Έλεγξα την απενεργοποίηση HTTP ή την ανακατεύθυνση της HTTP κίνησης εύκολα σε HTTPS μέσω Web UI, αλλά δυστυχώς δεν είναι δυνατόν αυτή τη στιγμή. Ναι, σωστά άκουσες, το βασικό χαρακτηριστικό δεν υποστηρίζεται!
Έλεγξα το έγγραφο για (https://cloud.google.com/appengine/docs/standard/php7/application-security) και προσπάθησα να ορίσω μια ανακατεύθυνση 301 μέσω του αρχείου app.yaml. Ορίστε τι δοκίμασα:
handlers:
- url: /.*
script: auto
secure: always
redirect_http_response_code: 301
Έκανα deploy μια νέα έκδοση της εφαρμογής μου, αλλά το App Engine εξακολουθεί να σερβίρει μέσω HTTP και δεν ανακατευθύνει σε HTTPS όταν ζητάω μη ασφαλή σύνδεση.
Αυτή τη φορά, αποφάσισα να δώσω μια ευκαιρία στον nginx. Άνοιξα το αρχείο nginx-app.conf μου και έγραψα αυτό:
server_name _;
if ($http_x_forwarded_proto = “http”) {
return 301 https://$host$request_uri;
}
Και Voila! Λειτούργησε τέλεια. Πώς δοκίμασα και κατάλαβα αυτή τη διαδικασία, μπορείς να δεις παρακάτω.
➜ ~ curl -I http://ercan-ermis.ew.r.appspot.com/
HTTP/1.1 301 Moved Permanently
Date: Thu, 15 Apr 2021 07:03:34 GMT
Content-Type: text/html
Content-Length: 178
Server: nginx
Location: https://ercan-ermis.ew.r.appspot.com/
Via: 1.1 googleΠερισσότερα από τον Ercan
Δύο ακόμη ιστότοποι, ίδιος συγγραφέας, διαφορετικό έδαφος.
AI, LLMs, agents, εφαρμοσμένη ML.
Σημειώσεις πεδίου για AI workloads. Ανάλυση κόστους Bedrock, agent patterns, trade-offs αποθήκευσης διανυσμάτων, failure modes σε παραγωγή.
Επισκεφθείτε ercan.ai →Ο κόμβος. Σχετικά, συμβουλευτική, επικοινωνία.
Προσωπικός κόμβος και για τις δύο διαδρομές γραφής. Ποιος είμαι, πώς λειτουργεί η συμβουλευτική, πώς να επικοινωνήσετε.
Επισκεφθείτε ercanermis.com →