gpt4 book ai didi

node.js - Nodejs 无法与位于 ws ://apache proxy 的服务器建立连接

转载 作者:搜寻专家 更新时间:2023-11-01 00:01:26 28 4
gpt4 key购买 nike

我正在尝试将我的 nodejs 应用程序配置为在具有域名的本地主机上运行。

所以我在本地的网站是 http://app.local 指向 http://localhost/app

现在我在 nodejs 上有一个应用程序,它运行在 6060 端口 http://localhost:6060

我正在尝试配置 localhost:6060 以在 http://app.local/nodejs

上工作

这是我的 apache 配置文件。

 <VirtualHost app.local>
ServerAdmin webmaster@app.local
ServerName app.local
ServerAlias app.local

DocumentRoot /var/www/app

ProxyPass /service http://localhost:3000
ProxyPassReverse /service/ http://localhost:3000/

ProxyPass /nodejs http://localhost:6060
ProxyPassReverse /nodejs/ http://localhost:6060/

ProxyPass /nodejs ws://localhost:6060
ProxyPassReverse /nodejs/ ws://localhost:6060/

<Directory >
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /var/www/app>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>


</VirtualHost>

我的 javascript 代码监听发出:

var socket = io.connect('http://app.local/', {path:'/nodejs/socket.io/', port: 6060});
socket.on('connect', function(){
console.log("Connected");
});

当我尝试通过此 URL http://app.local/nodejs 运行应用程序时,它会抛出以下错误:

Firefox 无法与位于 ws://app.local/nodejs/socket.io/?EIO=3&transport=websocket&sid=NQ2LSn--THwZkrStAAAH 的服务器建立连接。

我关注了这个question但仍然无法正常工作。

我正在使用 Apache/2.4.7 (Ubuntu)

最佳答案

尝试以下操作:

改变

var socket = io.connect('http://app.local/', {path:'/nodejs/socket.io/', port: 6060});

var socket = io.connect('http://app.local:6060');

关于node.js - Nodejs 无法与位于 ws ://apache proxy 的服务器建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30026064/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com