sakuraでApacheとnode.jsを同居させる

httpのportってdefaultが80だからApacheとnode.jsを同時に起動させるとどっちかしかアクセス出来ないもんだと思ってた。んで、しょうがないから、http://hogehoge.jp:8080みたいにportを指定してnodeの場合はアクセスしてたんだけど、カッコ悪いし不便だしなんか方法ないかなぁと調べたら案外あっさりできた。

ReverseProxyの設定でapacheにアクセスしてきたやつを吹き飛ばせばいいみたい。

<VirtualHost *:80>
    ServerName hogehoge.your.domain
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

こんなふうにhttpd.conf書いてやれば、hogehoge.your.domainでアクセスしてきた奴がport:3000にアクセスしたことになるから、後はnode.jsを3000で上げてあげればポート指定が入ってなくてもアクセスしてくれるというメモ。