Andrise programmeerimisalane WIKI

Oma domeeni kasutamine

Kui aplikatsioon on juba piisavalt suur, siis tõenäoliselt tekib soob vahetada app_id.appspot.com stiilis domeen millegi käepärasema vastu, näiteks www.minudomeen.ee vms. Google App Engine võimaldab seda õnneks vabalt teha ja seda isegi tasuta paketi korral. Oma domeeni kasutamiseks tuleb see domeen registreerida Google Apps teenuses. Google Apps Standard versioon on kasutamiseks tasuta ning lisaks muule sisaldab see ka väga head e-posti serverit, mis põhineb GMail teenusel.

Domeeni lisamiseks Google App Engine aplikatsioonile tuleb avada aplikatsiooni administreerimise leht ning valida sealt „Applcation Settings“ kus asub nupp „Add domain…“. Oma domeeni kasutamiseks peab olema siiski ka ligipääs domeeni nimeserverile, sest www alamdomeenile tuleb seada CNAME kirje aadressile ghs.google.com.

Palja domeeni probleem

Google App Engine aplikatsiooni pihta ei ole võimalik suunata „paljast“ domeeni, näiteks minudomeen.ee, vaid ainult alamdomeeni nagu www'minudomeen.ee. Põhidomeen peab seega asuma kuskil mujal ja kui kui selle poole pöördutakse, peaks see suunama automaatsel kasutaja ümber www domeeni peale ehk siis Google serveritesse. Juhul kui tegu on Apache serveriga, millel on moodul mod_rewrite aktiveeritud, saab seda teha lihtsa .htaccess failiga. Domeeni juurkataloogi tuleks tekitada fail nimega .htaccess ning sisestada sinna järgnev sisu:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^minudomeen\.ee$ [NC]
RewriteRule ^(.*)$ http://www.minudomeen.ee/$1 [R=301,L]

HTTPS probleem

Google App Engine ei võimalda hetkel oma domeeni kasutajatele HTTPS ühenduse tuge. See tähendab, et kui on vaja teha HTTPS ühendusi, tuleb need teha alati https://app_id.appspot.com aadressile, hoolimata sellest kas oma domeen on seatud või mitte. Proovides avada oma domeeni pihta HTTPS ühendust, annab brauser veateate.

Suvalised alamdomeenid

Google App Engine aplikatsiooni vastu võib suunata ka suvalisi nn. wildcard alamdomeene, sellisel juhul peab aplikatsioon lihtsat kontrollima, milline alamdomeen parasjagu ees on ja sellele vastavalt käituma.

Hetke domeeni saab kätte keskkonnamuutujast HTTP_HOST

import os
os.environ['HTTP_HOST']