You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过域名访问Minio服务器时无法获取存储桶项[WebSocket错误]

问题分析与解决方案

直接通过159.223.90.95:9000访问Minio正常,但使用inventory.vmplay.ml域名访问时出现WebSocket错误,核心问题出在Apache代理配置的端口匹配或WebSocket代理支持上,结合给出的配置文件,具体分析和修复方案如下:

核心问题定位

  1. 端口映射错误:你直接访问的是Minio API端口9000,但inventory.vmplay.ml的代理目标是9001(大概率是Minio控制台端口),如果需求是通过该域名访问Minio API,端口映射完全错误。
  2. WebSocket代理配置不完善:若inventory.vmplay.ml用于访问Minio控制台(9001),当前的WebSocket rewrite规则缺少必要模块支持和头部传递,导致控制台依赖的实时WebSocket通信失败。

修复方案

方案1:若inventory.vmplay.ml用于访问Minio API(9000)

直接修正代理端口,替换inventory.vmplay.ml.conf内容为:

<VirtualHost *:80>
ServerName inventory.vmplay.ml
ProxyPass / http://159.223.90.95:9000/
ProxyPassReverse / http://159.223.90.95:9000/
</VirtualHost>

Minio API本身不依赖WebSocket,此配置可直接解决访问问题。

方案2:若inventory.vmplay.ml用于访问Minio控制台(9001)

需确保Apache启用必要模块,并完善WebSocket代理配置:

  1. 启用Apache依赖模块:
a2enmod proxy proxy_http proxy_wstunnel rewrite
systemctl restart apache2
  1. 修正inventory.vmplay.ml.conf的WebSocket代理规则:
<VirtualHost *:80>
ServerName inventory.vmplay.ml
ProxyPass / http://159.223.90.95:9001/
ProxyPassReverse / http://159.223.90.95:9001/

RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) ws://159.223.90.95:9001/$1 [P,L]
</VirtualHost>
  1. 检查Minio控制台启动参数,确保允许通过inventory.vmplay.ml域名访问:
    启动Minio时添加--console-address ":9001",并设置环境变量MINIO_SERVER_URL="http://inventory.vmplay.ml"以信任该域名。

验证步骤

  1. 重启Apache服务:systemctl restart apache2
  2. 清除浏览器缓存后访问inventory.vmplay.ml,检查WebSocket错误是否消失。

内容的提问来源于stack exchange,提问作者Vishnu Mali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:53:23