Die gängigste und wahrscheinlich einfachste Möglichkeit, Ihre Anwendung über Port 80 unter OS X (oder Mac OS) erreichbar zu machen, ist Konfigurieren Sie einen Reverse-Proxy.
Diese Lösung gilt für jede Webanwendung, nicht nur für Kitura.
Die OS X Server-App enthält einen Apache-Server, der so konfiguriert werden kann, dass er als Reverse-Proxy fungiert. Der Apache Reverse Proxy kann Port 80 für eine bestimmte Domain abhören und dann alle Anfragen an den internen Port 8080 weiterleiten, den Ihre Anwendung überwacht, und umgekehrt.
Wie dies richtig zu machen:
Schritt 1: In /Library/Server/Web/config/apache2/webapps
, erstellen Sie eine plist-Datei my.application.plist
(zum Beispiel) genannt. Diese plist beschreibt eine sogenannte Webapp, die dann in der OS X Server App aktiviert werden kann.
Beispiel Webapp plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- Allow to include a custom Apache configuration file from Server app -->
<plist version="1.0">
<dict>
<key>includeFiles</key>
<array>
<!-- Include files are activated in virtual host when webapp is started -->
<string>/Library/Server/Web/Config/apache2/httpd_webapp_myapp.conf</string>
</array>
<key>name</key>
<string>com.atlassian.webapp.myapp</string>
<key>displayName</key> <!-- Name shown in Server app -->
<string>Reverse proxy for myapp</string>
<key>installationIndicatorFilePath</key> <!-- The presence of this file indicates web app is installed -->
<string>/Library/Server/Web/Config/apache2/httpd_webapp_myapp.conf</string>
<key>sslPolicy</key><!-- Determines webapp SSL behavior -->
<integer>0</integer>
<!-- 0: default, UseSSLWhenEnabled -->
<!-- 1: UseSSLAlways -->
<!-- 2: UseSSLOnlyWhenCertificateIsTrustable -->
<!-- 3: UseSSLNever -->
<!-- 4: UseSSLAndNonSSL -->
</dict>
</plist>
In dem obigen Beispiel ersetzen myapp
durch Ihren App-Namen.
Schritt 2: Als nächstes wird in /Library/Server/Web/Config/apache2
, eine Datei mit dem Sie in der plist-Datei (httpd_webapp_myapp.conf
in meinem Beispiel) ausgewählten Namen erstellen. Diese Datei wird den Reverse-Proxy konfigurieren.
Beispiel Proxy-Konfigurationsdatei:
# As described at http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
# Service proxy for myapp installation
ProxyRequests Off
ProxyVia Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass/http://myapp.mydomain:8080/
ProxyPassReverse/http://myapp.mydomain:8080/
In dem obigen Beispiel ersetzen myapp.mydomain
durch die Domain, unter der Sie Ihre Anwendung (und 8080
durch die Anwendung des Port, wenn es anders ist) zu erreichen.
Wichtig: Beide Dateien müssen unter Verwendung von sudo nano
erstellt/bearbeitet werden, und sie müssen im Besitz von root sein.
Schritt 3: Im OS X Server App zu gehen, zu Websites, wählen Sie die Domain, die Sie (Doppelklick oder klicken Sie auf das Bearbeiten-Symbol) verwenden möchten, dann klicken Sie auf bearbeiten erweiterte Einstellungen. Wenn alles gut gegangen ist, erscheint Ihre neu erstellte Webapp unter Stellen Sie diese Webapps unter dieser Website zur Verfügung. Aktivieren Sie das Kontrollkästchen Ihrer Webanwendung und speichern Sie sie.
Es ist normalerweise nicht notwendig, den Webserver neu zu starten (die Server-App wird dies für Sie tun).
Schritt 4: Testen Sie, ob Sie Ihre Anwendung unter dieser Domäne erreichen können.
Hinweis: Es kann notwendig sein, die Anwendung irgendwie zu konfigurieren, damit sie weiß, dass sie hinter einem Reverse-Proxy läuft.
Auf den ersten Blick scheint dies ein wenig kompliziert, aber es ist nicht wirklich, und soweit ich weiß, ist es jetzt die einzige akzeptierte Möglichkeit, einen Reverse-Proxy auf OS X-Server zu konfigurieren.
Es funktioniert wie ein Charme. Vielen Dank – zirinisp
Freut mich zu hören! Wenn Sie den Titel Ihrer Frage von "kitura server" in "einen Anwendungsserver" ändern würden, würde dies den allgemeinen Aspekt Ihrer Frage widerspiegeln und anderen helfen, ihn zu finden. – not2savvy
Sollte jetzt generischer sein – zirinisp