如何在子域上运行socket.io?

时间:2017-10-26 14:09:56

标签: node.js apache ubuntu socket.io

我不确定它实际上是否是子域名,但' /etc/apache2/sites-available/ooo-default.conf' 文件包含以下代码 -

<VirtualHost *:80>
RewriteEngine on
RewriteCond %{SERVER_NAME} =app.mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

我的项目保存在&#39; / var / www / html / beta&#39; 目录下,没有&#39; app&#39; 目录显示在&#39; / var / www / html&#39;

如何在这里运行socket io?我的服务器是 - Linux Ubuntu 16.04

我找到以下解决方案 -

<VirtualHost *:80>
    ServerName app.mydomain.com

    <Location "/">
        ProxyPreserveHost On
        ProxyPass http://localhost:3000/
        ProxyPassReverse http://localhost:3000/
    </Location>
</VirtualHost>

但它不起作用,当我在&#39; /etc/apache2/sites-available/ooo-default.conf' 文件中添加此代码时,apache2停止工作。请帮忙。

1 个答案:

答案 0 :(得分:0)

使用以下步骤:

1):更新虚拟文件:-

 <VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName mysite.com
    ServerAlias www.mysite.com
  ProxyRequests Off Order deny,allow Allow from all
 <Location />
        ProxyPass http:// mysite.com:8000/
        ProxyPassReverse http:// mysite.com:8000/
    </Location>

</VirtualHost>

2)启用必要的Apache模块

要启用这四个模块,请连续执行以下命令。

sudo a2enmod proxy

sudo a2enmod proxy_http

sudo a2enmod proxy_balancer

sudo a2enmod lbmethod_byrequests

3)要使这些更改生效,请重新启动Apache。

sudo systemctl restart apache2