apache AH01084:传递请求正文失败

dzjeubhm  于 2023-03-24  发布在  Apache
关注(0)|答案(1)|浏览(229)

我有基本的聊天应用程序使用棘轮有服务器代码一样

<?php

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Socket;

require dirname( __FILE__ ) . '/vendor/autoload.php';
require 'app/socket.php';
$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new Socket()
        )
    ),
    8445
);

$server->run();

我想WebSocket运行在我的域沿着正常的php网站,使配置的Apache虚拟主机像这样

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/public_html/logs/error.log
    CustomLog /var/www/example.com/public_html/logs/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

以及

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerName example.com
     ServerAlias www.example.com
     SSLProxyEngine on
     SSLProxyVerify none
     SSLProxyCheckPeerCN off
     SSLProxyCheckPeerName off
     SSLProxyCheckPeerExpire off
     SSLEngine on

     ProxyRequests Off

     Include /etc/letsencrypt/options-ssl-apache.conf
     SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

         DocumentRoot /var/www/example.com/public_html
         ErrorLog /var/www/example.com/public_html/logs/error.log
     CustomLog /var/www/example.com/public_html/logs/access.log combined

     ProxyPass / https://example.com:8445/
     ProxyPassReverse / https://example.com:8445/

        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteRule .* wss://example.com:8445%{REQUEST_URI} [P]

</VirtualHost>

</IfModule>

我总是得到错误称为500代理错误

[proxy:error] [pid 18645] (20014)Internal error (specific information not available): [client 72.13.X.X:51606] AH01084: pass request body failed to 5.161.X.X:8445 (example.com)
[client 72.13.X.X:51606] AH00898: Error during SSL Handshake with remote server returned by /
[proxy_http:error] [pid 18645] [client 72.13.X.X:51606] AH01097: pass request body failed to 5.161.X.X:8445 (example.com) from 72.13.X.X ()

我正在努力解决这个问题,从过去的许多小时,但我无法使它工作。让我知道,如果有人在这里可以帮助我解决这个难题。谢谢!

pkwftd7m

pkwftd7m1#

使用后端HTTP节点的IPv4地址解决了这个问题。

ProxyPass / https://72.13.X.X:8445/
     ProxyPassReverse / https://72.13.X.X:8445/

代替

ProxyPass / https://example.com:8445/
     ProxyPassReverse / https://example.com:8445/

相关问题