我在运行SSL的IIS8反向代理后面运行了一个Confluence 6.1.0安装程序。 除了一个小问题以外,一切正常。 当我尝试复制三段或四段文本时,尝试复制一个表或试图插入一个大于8×8的新表时,协作编辑失败,底栏上的文本从“准备就绪”或“保存更改”变为“无法保存更改”。 然后它会坐在那里,直到你取消编辑,放弃你的更改,然后重新打开编辑器。 复制和粘贴较小的文本块或插入较小的表格按预期工作。 在3500字左右的文字中有某种阈值是工作和打破的区别。 环境是Windows 2012 R2,带有运行SSL的IIS8.5和Confluence 6.1.0。 IE和Chrome都发生这种情况,我还没有testingFirefox。 在任何Confluence日志,IIS8日志中,甚至在Chrome中的开发者控制台中都没有错误。 如果我closures代理并直接进入Confluence 6.1.0,一切正常。 我也有安装Apache的另一个环境,而不是IIS8做同样的事情,它也工作正常。 这个问题似乎局限于IIS8做WebSockets。 我最好的猜测是IIS8中有一个设置限制了代理的数据量。 我只是无法find该设置。 我看过的设置包括: 请求过滤 以字节为单位的最大URL长度 – 当前设置为默认值的两倍的8192 最大查询string – 当前设置为8192,这是默认值的四倍。 允许的最大内容长度 – 目前默认为30000000,相当于28.6MB,远远大于我正在做的。 ApplicationHost.config和web.config system.webServer / webSocket receiveBufferLimit – 目前设置为4194304,这是默认值,相当于4MB,也比我在做的更大。 是否还有另外一个设置,我错过了,这将解释为什么IIS会中断或拒绝有效载荷?
我们最近使用以下configurationconfiguration了一个新的群集: www.mydomain.com | APACHE + MOD_JK (AJP) Load Balancer / \ Tomcat1 Tomcat2 所有请求都通过HTTPS完成,两个tomcat实例通过DeltaManager使用SessionReplication。 集群和所有的wep应用程序工作得很好。 现在,这些webapps中的一个需要使用WSS://协议的WebSockets,而且我得到这个exception java.lang.UnsupportedOperationException:此协议不支持HTTP升级 有没有人知道是什么原因造成的?
我有一个安装在Heroku上的websocket,每隔一段时间我都会得到如下消息: 06:24.591694+00:00 heroku router – – at=error code=H15 desc="Idle connection" method=GET path="/socket.io/?EIO=3&transport=websocket&sid=vi55QjrI6GIqRBkjAABw" host=www.weld.io request_id=2a9bf2f7-e84c-47e3-81e6-d445b32d0c5c fwd="<a lot of different IP.s>" dyno=web.1 connect=2ms service=95906ms status=503 bytes=140 这一直持续到heroku实例耗尽内存为止。 这种情况每隔一天左右发生一次,一切正常? 任何想法可能是什么?
我无法通过HTTPS使用apache代理使节点后端上的websocket工作来连接到节点实例。 如果不使用(apache)http代理,Websockets可以正常工作。 我的设置:我有一个具有多个虚拟主机的Apache服务器。 我有一个HTTPS网页myserver.com和HTTPS API与api.myserver.com子域中的节点/ express / ws通过代理,将请求redirect到端口3333上运行的node.js实例(在PM2上的多个实例) 。 这是我的子域的apache虚拟主机: <VirtualHost *:443> ServerName api.myserver.com ServerAdmin [email protected] DocumentRoot /var/www/html/myserver/api Options -Indexes SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile /etc/apache2/certs/STAR_myserver_co.crt SSLCertificateKeyFile /etc/apache2/certs/myserver_private_key.pem SSLCertificateChainFile /etc/apache2/certs/STAR_myserver_co.ca-bundle SSLProxyEngine On ProxyPreserveHost On ProxyRequests Off # This is for websocket requests ProxyPass /wss/ wss://localhost:3333/ ProxyPassReverse /wss/ wss://localhost:3333/ # This is for […]
我的团队在亚马逊AWS为客户build立了一个内联网门户,在这个门户上,我们使用了WebSockets来完成通知和其他小事情。 我们主要从服务器发送事件,但我们也使用它,所以客户端可以快速通知服务器的用户存在。 客户的要求之一是我们使用应用程序级别的防火墙来屏蔽恶意请求等等。 我们安装了Sophos UTM来处理这个问题。 对于HTTPstream量,这个效果很好。 但是,UTM不支持WebSocket,所以我们基本上必须将其configuration为只是盲目地代理请求。 由于我不完全理解的原因(即使经过几个小时的拆除),这是一个巨大的瓶颈,并且使得一切都变得缓慢(即使CPU和内存使用情况良好)。 然后,我们决定,如果UTM不是过滤stream量,那么让nginx来分割socketstream量,让UTM处理正常的stream量。 这个设置工作得很好,而且性能很棒。 但是,客户的安全人员担心WebSocketstream量没有被筛选。 因此,我有三个相关的问题: 这是一个问题吗? 如果不是的话,有什么我可以certificate的,比我能解释得更清楚些? 如果这是一个问题,有没有任何应用程序防火墙可以帮助我们? 我真的不知道我们会过滤什么,但希望这是防火墙的工作。 编辑:我是不正确的,我们实际上是在sockets上进行双向通信,虽然它仍然是相当微不足道的。 就是“用户在看这个标签”,“有用户确认通知”等等。
我正在build立我的第一个HAProxy反向代理服务器。 这将是一个在不同服务器上运行在tomcat上的HTML5应用程序的代理。 我能够通过HTTP代理它,将所有请求redirect到HTTPS,并实现HSTS。 但是,这样做后,我意识到,它也试图加载websocket连接。 问题是它加载的websocket连接是不安全的(ws://)并且不安全(wss://)。 当然,Chrome(大概是多个浏览器)抱怨通过安全连接加载不安全的脚本。 这是我得到的错误: Connecting via WebSocket using url ws://website.domain.com:9091/webclient/ Mixed Content: The page at 'https://website.domain.com/webclient/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://website.domain.com:9091/webclient/'. This request has been blocked; this endpoint must be available over WSS. Caught WebSocket error: SecurityError: Failed to construct 'WebSocket': An insecure […]
我目前在一个nginx反向代理的背后设置了TeamCity,但在浏览器中出现错误。 错误如下: WebSocket connection to 'ws://ci.example.net/app/subscriptions?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.2.7-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&X-atmo-protocol=true&browserLocationHost=http%3A%2F%2Fci.example.net' failed: Error during WebSocket handshake: Unexpected response code: 501 我查看了nginx错误日志和TeamCity错误日志,两者都是空的。 我的nginxconfiguration如下: server { listen 80; server_name ci.example.net; error_log /var/log/nginx/error.log; proxy_intercept_errors on; error_page 401 403 404 /404.html; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:8111; proxy_read_timeout 90; proxy_redirect http://127.0.0.1:8111 http://ci.fluxmc.net; } […]
在Apache 2.4中,你可以使用以下方法将HTTP连接代理到本地Unix套接字: [1] ProxyPass unix:/path/to/app.sock|http://example.com/app/name 您可以使用以下方法将代理WebSocket连接反向代理到本地TCP套接字: [2] ProxyPass ws://127.0.0.1:12345/app/name 但是,你怎么能反向代理一个WebSocket连接到Unix套接字? [☹]
当试图通过我的Apache2服务器访问ws:// localhost:8080时,出现错误500。 该服务器运行OpenSuse Leap 42.1和Apache 2.4.16。 这些Apache2模块已启用:mod_proxy,mod_proxy_http,mod_proxy_wstunnel。 当从本地networking调用请求时,一切工作正常。 URL示例: http://<myhost-ip-address>/api/ws/<some-url> 。 它返回状态101和响应: Upgrade: websocket 。 没关系。 来自外部networking的同一种请求失败。 url示例: ws://www.mysite.com/api/ws/<some-url> 。 它返回错误500。 Apache访问日志包含: GET /api/ws/<some-url> HTTP/1.1" 500 … Apache错误日志包含: [proxy:warn] AH01144: No protocol handler was valid for the URL /api/ws/<some-url>. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included […]
我目前正在尝试在我的个人服务器上运行hack.chat 。 长话短说,它由两台服务器组成。 首先是一个简单的httpd服务器提供JavaScript和CSS。 第二个聊天系统是javascript连接到websocket的一个node.js服务器。 这里出现了问题。 我希望使用端口80,在单个IP上使用不同的域名,在Nginx中使用单独的服务器块。 我跟着Nginx的websocket文件,但这是行不通的。 当websocket尝试连接时,它总是得到200返回代码,而如果我理解的很好,它应该得到101(切换协议)。 我的Nginx版本是1.8.0,我的服务器在linux 4.0.5下运行在gentoo上 下面是相关的nginx conf文件的转储: nginx.conf: user nginx nginx; worker_processes 1; error_log /var/log/nginx/error_log info; events { worker_connections 1024; use epoll; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$gzip_ratio"'; client_header_timeout 10m; client_body_timeout 10m; send_timeout […]