Sirviendo pharo costera 3.0 con lighttpd
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?
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 .