对于Apache服务器上的WebSockets配置文件

问题描述 投票:0回答:1

我完全新的后端网络开发和使用PHP取得了一个项目,但我现在想使用WebSockets使一切更高效。要做到这一点,我将使用救护车。我运行的Apache 2.4.33。当我尝试运行我的测试文件,我得到一个400错误。我还没有一台服务器,也不是一个域,并希望我的本地机器上运行测试文件。这里是我的什么user.conf的文件看起来像:

<VirtualHost *:80>
    ServerName localhost

    ProxyPreserveHost On
    ProxyPass / localhost:8080/
    ProxyPassReverse / http:localhost:8080/
    ProxyRequests Off
    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
    RewriteRule .* ws://localhost:8080%{REQUEST_URI} [P]
</VirtualHost>

正如我所说,每当我尝试运行我的server.php代码,页面出来作为“HTTP错误400”。有可能是我的代码的问题,但我相当肯定的是与我怎么设置我的conf文件来完成。

php apache websocket httpd.conf user.config
1个回答
0
投票

有在我的配置文件中的错误。我跑的apachectl -S发现它们是什么。下面是其他任何人为此而努力像我的工作配置文件:

<Directory "/Users/User/Sites/ProjectFolder">
   AddLanguage en .en
   AllowOverride All
   Options Indexes MultiViews FollowSymLinks
   Require all granted
</Directory>

ProxyRequests Off
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:8080/$1 [P,L]
<VirtualHost localhost:8080>
        ProxyPass / ws://localhost:8080/
        ProxyPassReverse / ws://localhost:8080/
</VirtualHost>

如果您正在使用棘轮确保您composer.json设置正确与有效版本。然后通过运行PHP作曲家升级升级。最后,一定要重新使用sudo的apachectl重新启动Apache服务器。

© www.soinside.com 2019 - 2024. All rights reserved.