Pregunta

Estoy tratando de servir a mi aplicación con lighttpd. Con costera 2,8 lo siguiente trabajó en mi lighttpd.conf:

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

3.0, pero con mar se vuelve a escribir la url decir http: // localhost / pharo cuando se accede a través de una red.

Cualquier persona ha sido capaz de servir Pharo y el mar a 3 con lighttpd?

¿Fue útil?

Solución

A continuación se hizo el trabajo, sin comentar la siguiente línea en este método, así:

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

En la configuración de mi costera de mi solicitud todos los ajustes del servidor de recursos (URL base, servidor de nombre de host, la ruta del servidor, puerto del servidor servidor de protocolo) no están especificados.

Parece que junto al mar está tratando de obtener la configuración del servidor de aplicaciones de algunos de los padres pero no puede perseguir a él.

EDIT: Ok, gracias a Lukas (ver comentario), todo lo que tenía que hacer era restablecer el #serverHostname en mi configuración de la aplicación encontrar en "Dispatcher: /". A cero (no especificado)

Otros consejos

En la configuración costera de su aplicación, ponga su dirección IP en el campo de host del servidor

Las apariencias como lighttpd reenvía el nombre de host diferente original que hace Apache. Poner un #halt en WAUrl>>#takeServerParametersFromRequest: e inspeccionar la solicitud aRequest entrante. Es de suponer que hay un campo de cabecera llamada X-Forwarded-Host que contiene el nombre de host original, si es así cambiar el método de la siguiente manera:

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 ] ]

Si esto (o algo similar) resuelve su problema, por favor, crear un ticket .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top