3

I have a reverse proxy setting in my Apache's httpd.conf:

ProxyPass "/endpoint" "https://someurl.com/endpoint"
ProxyPassReverse "/endpoint" "https://someurl.com/endpoint"

And I need to replicate this in Lighttpd. I'm running a JS app which calls localhost:8080/endpoint to retrieve some data. I'd like to set up a proxy to always redirect /endpoint to https://someurl.com/endpoint.

In my lighttpd.conf I have the following settings:

server.modules = ("mod_proxy")

$HTTP["url"] =~ "^.*endpoint" {
  proxy.server = ( "" => (( "host" => "https://someurl.com/endpoint" ) ) )
}

based on this SO answer. I have also tried:

server.modules = ("mod_proxy")
proxy.server = ( "/endpoint" => (( "host" => "https://someurl.com/endpoint" )))

based on the lighttpd docs.

In both cases, I'm still hitting localhost:8080/endpoint which results in a 404 error. How do I set up the proxy correctly?

Bartek Maraszek
  • 1,404
  • 2
  • 14
  • 31

1 Answers1

4

In lighttpd 1.4.46 and later, you can use proxy.header. See https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModProxy

server.modules = ("mod_proxy")
$HTTP["url"] == "/endpoint" {
    proxy.server = ( "" => (( "host" => "someurl.com" )))
    proxy.header = ( "map-host-request" => ( "-" => "someurl.com"),
                     "map-host-response" => ("-" => "-"))
}
gstrauss
  • 2,091
  • 1
  • 12
  • 16