Erfahren Sie, wie Sie statische Inhalte wie HTML-Dateien, CSS und Bilder sicher aus der Google App Engine-Standardumgebung bereitstellen können.
Vorbereitung
Konfigurieren Sie Ihre Entwicklungsumgebung und erstellen Sie Ihr App Engine-Projekt.
Falls Sie einen benutzerdefinierten Domainnamen für Ihre Website verwenden, folgen Sie der Anleitung zum Hinzufügen einer benutzerdefinierten Domain zu Ihrem Projekt.
Webseite bereitstellen
App Engine kann statische Inhalte wie z. B. HTML-Seiten und Medien wie z. B. Bilder bereitstellen. Statischer Inhalt ist alles, was nicht als JSPs oder Servlets ausgeführt wird.
Das folgende Beispiel zeigt eine einfache HTML-Seite, die eine Begrüßungsnachricht anzeigt.
<!DOCTYPE html>
<html>
<head>
<title>The App Engine Blog</title>
</head>
<body>
<h1>Welcome to the App Engine Blog</h1>
<p>This is being served by App Engine!</p>
</body>
</html>
Wo werden statische Dateien abgelegt?
Sie müssen Ihre statischen Dateien im Verzeichnis webapp
Ihrer Anwendung ablegen. Sie können Ordner verwenden. Beachten Sie jedoch, dass alle Dateipfade und URIs relativ zum Verzeichnis webapp
sind.
Nachdem Sie einen Speicherort für die statischen Dateien ausgewählt haben, müssen Sie ihn in der Datei appengine-web.xml
mithilfe des Elements <static-files>
definieren.
Im folgenden Beispiel behandelt eine einfache appengine-web.xml
-Konfiguration alle HTML-Dateien im Verzeichnis webapp
als statische Dateien.
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<static-files>
<include path="/**.html" >
</include>
</static-files>
</appengine-web-app>
Sie können mehrere <include path>
-Elemente haben, die auf verschiedene Verzeichnisse und unterschiedliche Dateitypen verweisen. Erweiterung zum vorherigen Beispiel:
<static-files>
<include path="/**.html" >
</include>
<include path="/images/**.jpg" >
</include>
</static-files>
Jetzt werden alle Dateien mit der Erweiterung .jpg
in im Verzeichnis webapp/images/
werden als statische Dateien behandelt.
Wenn Sie im obigen Beispiel logo.jpg
aus dem Verzeichnis webapp/images
anzeigen möchten, hat das Tag <img>
den Quell-URI <img src="/images/logo.jpg">
.
HTTPS für alle statischen Inhalte erzwingen
Obwohl App Engine das Bereitstellen von Inhalten sowohl mit HTTP als auch mit HTTPS unterstützt, sollten Sie HTTPS verwenden. Fügen Sie der web.xml
Ihres Projekts das Element <security-constraint>
hinzu, um sichere URLs zu erstellen. Hier ein Beispiel für <security-constraint>
:
<security-constraint>
<web-resource-collection>
<web-resource-name>blog</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Mit <transport-guarantee>CONFIDENTIAL</transport-guarantee>
werden alle Anfragen automatisch an den HTTPS-URI des statischen Inhalts weitergeleitet.
In App Engine bereitstellen
Sie können Ihre Anwendung mithilfe von Maven in App Engine bereitstellen.
Wechseln Sie zum Stammverzeichnis Ihres Projekts und geben Sie Folgendes ein:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts. Wenn in der Datei pom.xml
bereits Ihre Projekt-ID angegeben ist, müssen Sie das Attribut -Dapp.deploy.projectId
nicht in dem von Ihnen ausgeführten Befehl einfügen.
Nachdem Ihre Anwendung von Maven bereitgestellt wurde, sollte automatisch ein Webbrowser-Tab in Ihrer neuen Anwendung geöffnet werden. Geben Sie dazu Folgendes ein:
gcloud app browse
Weitere Informationen
Statische Dateien können dazu verwendet werden, Bilder, CSS und statische HTML-Inhalte über App Engine bereitzustellen. Vertiefende Informationen zum Thema finden Sie unter Nutzerdaten über HTML-Formulare verarbeiten.