Re: [Haskell-cafe] Happstack basic question

2010-03-11 Thread Martin Kiefel
Hi Dmitry,

On Thu, Mar 11, 2010 at 11:38:44AM +0300, Dmitry V'yal wrote:
 Hello haskellers,
 
 I want to host a simple happstack application behind a reverse proxy. So 
 ideally would be to bind it to localhost only.
 
 According to
 http://hackage.haskell.org/packages/archive/happstack-server/0.4.1/doc/html/Happstack-Server-HTTP-Types.html#t%3AConf
 Conf datatyle has only Port field. Does it mean, there is currently no 
 way to prevent binding happstack to all available interfaces?

I think you are looking for simpleHTTPWithSocket [1]. You can use
whatever socket you like.

 
 Regards,
 Dmitry

Cheers,
Martin

[1] 
http://happstack.com/docs/0.4/happstack-server/Happstack-Server-SimpleHTTP.html#v%3AsimpleHTTPWithSocket
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Happstack basic question

2010-03-11 Thread Martin Kiefel
On Thu, Mar 11, 2010 at 09:24:05AM -0500, Kyle Murphy wrote:
 You misunderstand his question. He's trying to setup happstack behind a
 reverse proxy running on the same system, so he needs to be able to bind it
 only to the loopback interface (127.0.0.1), as opposed to all the interfaces
 on the system (thereby making it inaccessible from the network unless
 accessed through the proxy). I don't know enough about happstack to answer
 his question, but I can see from the documentation you provided that there
 doesn't seem to be any way to specify address to bind to as Dmitry stated in
 his original e-mail.

But I'm doing exactly that.

Here is some of the code:

main = do

  ...

  s - socket AF_INET Stream defaultProtocol
  setSocketOption s ReuseAddr 1
  h - getHostByName localhost
  let p = toEnum $ port $ httpConf appConf
  bindSocket s (SockAddrInet p (hostAddress h))
  listen s 10

  -- start the state system
  control - startSystemState' (store appConf) stateProxy

  -- start the http server
  httpTid - forkIO $ simpleHTTPWithSocket s (httpConf appConf)

  ...

And then my happstack server is just listening on 127.0.0.1.

To access it, I'm using Apache Proxy.

- Martin

 
 -R. Kyle Murphy
 --
 Curiosity was framed, Ignorance killed the cat.
 
 
 On Thu, Mar 11, 2010 at 07:39, Martin Kiefel m...@nopw.de wrote:
 
  Hi Dmitry,
 
  On Thu, Mar 11, 2010 at 11:38:44AM +0300, Dmitry V'yal wrote:
   Hello haskellers,
  
   I want to host a simple happstack application behind a reverse proxy. So
   ideally would be to bind it to localhost only.
  
   According to
  
  http://hackage.haskell.org/packages/archive/happstack-server/0.4.1/doc/html/Happstack-Server-HTTP-Types.html#t%3AConf
   Conf datatyle has only Port field. Does it mean, there is currently no
   way to prevent binding happstack to all available interfaces?
 
  I think you are looking for simpleHTTPWithSocket [1]. You can use
  whatever socket you like.
 
  
   Regards,
   Dmitry
 
  Cheers,
  Martin
 
  [1]
  http://happstack.com/docs/0.4/happstack-server/Happstack-Server-SimpleHTTP.html#v%3AsimpleHTTPWithSocket
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe