nodejs 和 apache共用80端口

blog迁移到基于express写的博客系统上,vps上80端口被apache占用。stackoverflow上看了下,可以使用apache的proxy。

<VirtualHost *:80>
    ServerAdmin zhiyelee@tsnrose.com
    ServerName  blog.tsnrose.com
    ServerAlias blog.tsnrose.com
    DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/lizhiye/sites/blog/

    ProxyRequests off
    ProxyPreserveHost On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass  / http://blog.tsnrose.com:8090/
    ProxyPassReverse / http://blog.tsnrose.com:8090/

    ErrorLog /home/lizhiye/logs/blog_error.log
    CustomLog /home/lizhiye/logs/blog.log combined
</VirtualHost>

使用上面配置要确保proxy_http模块被启用: a2enmod proxy_http

此外还遇到一个问题:

上面配置后,访问blog.tsnrose.com,html被作为纯文本展示的

没找到出现的原因,解决方案是更改apache的DefaultType选项,将其设置为none

Reference

comments powered by Disqus