Frage

Ich versuche, meine app mit lighttpd zu dienen. Mit Meer 2.8 die in meinem lighttpd.conf arbeitete folgende:

proxy.server = ( "/pharo" => (
    ( "host" => "127.0.0.1", "port" => 8080, "check-local" => "disable"))
)

aber mit Meer 3.0 es umschreibt die URL sagen http: // localhost / pharo , wenn es über ein Netzwerk zugreifen.

Wer in der Lage gewesen pharo und Meer, 3 mit lighttpd zu dienen?

War es hilfreich?

Lösung

In der folgenden funktionierte, unkommentiert ich die folgende Zeile in diesem Verfahren etwa so:

WARequestHandler>>url
    | url |
    url := self basicUrl.
    self serverPath isNil ifFalse: [ url parsePath: self serverPath ].
    self serverProtocol isNil ifFalse: [ url scheme: self serverProtocol ].
    "self serverHostname isNil ifFalse: [ url host: self serverHostname ]."
    self serverPort isNil ifFalse: [ url port: self serverPort ].

    ^ url

In meinem Meer Konfiguration meiner Anwendung alle die Server-Einstellungen (Ressourcenbasis URL, Server-Hostname, Server-Pfad, Server-Port, Server Protocol) sind nicht spezifiziert.

Es scheint, wie am Meer versucht, die Servereinstellungen von einigen Anwendungen Eltern zu bekommen, aber ich kann es nicht jagen.

EDIT: Ok, dank Lukas (siehe Kommentar), alles, was ich hatte, war, die #serverHostname in meiner Anwendungskonfiguration zurückgesetzt bei gefunden "Dispatcher: /". Auf Null (nicht spezifiziert)

Andere Tipps

In der Küsten Config Ihrer App, setzen Sie Ihre IP-Adresse im Server-Hostnamen Feld

Sieht aus wie lighttpd leitet die ursprüngliche Host-Namen anders als Apache tut. Setzen Sie ein #halt in WAUrl>>#takeServerParametersFromRequest: und überprüfen Sie die eingehende Anfrage aRequest. Vermutlich gibt es einen Header-Feld namens X-Forwarded-Host, die den ursprünglichen Hostnamen enthält, wenn so das Verfahren wie folgt ändern:

WAUrl>>takeServerParametersFromRequest: aRequest
    "Retrieves scheme, hostname and basepath from the request unless already set."

    scheme isNil
        ifTrue: [ self scheme: aRequest url scheme ].
    host isNil ifTrue: [ 
        aRequest headers at: 'x-forwarded-host' ifPresent: [ :value | self parseAuthority: value  ].
        host isNil 
            ifTrue: [ aRequest headers at: 'host' ifPresent: [ :value | self parseAuthority: value ] ] ].
    path isNil
        ifTrue: [ aRequest headers at: 'base' ifPresent: [ :value | self parsePath: value ] ]

Wenn diese (oder so ähnlich) löst Ihr Problem, bitte erstellen ein Ticket .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top