Opened 10 years ago

Last modified 7 years ago

#212 new enhancement

Add FastCGI support to node.js

Reported by: geofft Owned by:
Priority: minor Milestone: Fedora 20
Component: web Keywords:
Cc:

Description

In theory it might be nice to support node.js as an application language. Unfortunately, it seems not to have FastCGI support. The most I found about it is the following three threads: 1 2 3 It's not clear to me they necessarily support being server-spawned.

Change History (9)

comment:1 Changed 10 years ago by ezyang

  • Milestone The Distant Future deleted

comment:2 Changed 10 years ago by ezyang

  • Priority changed from tiny to minor

comment:3 Changed 10 years ago by ezyang

  • Type changed from defect to enhancement

comment:5 Changed 8 years ago by achernya

  • Milestone set to Fedora 19

Fedora 19 will be the first Scripts release that has packaged node.js, we should provide this feature. I've built the Fedora 19 nodejs packages on scripts-f17-dev for anyone that wants to work on it now.

comment:6 Changed 8 years ago by hobinjk

https://github.com/hobinjk/nodejs-fcgi-shim has a simple implementation, I (or whoever has time) should write the thing that installs it

comment:7 Changed 8 years ago by andersk

We need to make the node process listen on an fd (such as stdin), not a TCP port, so that other scripts users and/or visitors can’t visit the TCP port directly and bypass Apache authentication.

comment:8 Changed 7 years ago by geofft

achernya says, first, that this approach is fundamentally not going to work because it doesn't allow websockets support, and second, that he has a more up-to-date version in his web_scripts: this appears to be /mit/achernya/web_scripts/node, a fork of github.com/samcday/node-fastcgi-application.

comment:9 Changed 7 years ago by andersk

I’m not sure websockets are a thing yet on Apache at all. (Maybe that changes a little bit with 2.4’s mod_proxy_wstunnel? But that doesn’t look like quite what we want either.) Although it’s true that we probably don’t want to lock ourselves into a protocol that doesn’t support them.

Note: See TracTickets for help on using tickets.