- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚刚在本地服务器(Xampp 环境,Windows)上使用 Let's Encrypt SSL 证书(非自签名)创建了一个 PHP Web 服务器,所以我的网站 https://example.it看起来像每个浏览器的有效证书。我可以使用带有标准端口的 http://和 https://导航到它。
现在我正在实现用于创建网络聊天的 php 套接字,但是如果我通过 HTTP 使用不安全的网络套接字协议(protocol):
ws://example.it:8090/chat/php-socket.php
有效。
如果我通过 HTTPS 使用安全网络套接字协议(protocol):
wss://example.it:8090/chat/php-socket.php
我在建立连接 net::ERR_SSL_PROTOCOL_ERROR 时收到错误
如果有人需要,这是我的代码:
$(document).ready(function(){
var websocket = new WebSocket("wss://example.it:8090/chat/php-socket.php");
websocket.onopen = function(event) {
showMessage("<div class='chat-connection-ack'>Connssione stabilita.</div>");
}
websocket.onmessage = function(event) {
var Data = JSON.parse(event.data);
console.log(Data);
showMessage("<div class='"+Data.message_type+"'>"+Data.message+"</div>");
$('#chat-message').val('');
};
});
最佳答案
您正在尝试对 ws://
和 wss://
使用相同的端口 (8090) - 这很可能不起作用。虽然您没有显示任何服务器端配置,但我怀疑端口 8090 上的 websocket 服务器只能执行普通的 WebSocket(即 ws://
而不是 wss://
) 并且您希望来自 HTTP 服务器(端口 443)的 TLS 也神奇地应用于端口 8090 上的 wss://
。不是这种情况。通过使用端口 8090 尝试 wss://
,您实际上是在尝试与不使用 TLS 的服务器进行 TLS 握手,这会导致 net::ERR_SSL_PROTOCOL_ERROR
。
常见的设置是使用像 nginx 或 Apache 这样的网络服务器作为 websocket 服务器的反向代理,并在网络服务器上终止 TLS。这样 ws://
和 wss://
都可以从外部在标准端口(即 80 和 443)上工作,并且端口 8090 上的互联网普通 websocket 服务器将使外部无法访问。参见示例 NGINX to reverse proxy websockets AND enable SSL (wss://)?或 WebSocket through SSL with Apache reverse proxy了解如何设置这样的东西。
关于php - WebSocket 错误:net::ERR_SSL_PROTOCOL_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59542929/
我正在尝试打开我的网站 abc.members.linode.com:80。 但我收到了这个错误:ERR_SSL_PROTOCOL_ERROR我正在使用 linode 并且我有此域的 ssl 证书:
我有一个网站,它是使用 asp.net core 开发的开源网站。并且它已经部署在 Windows Server 2019 和 iis 10 上,我的问题是当从我的国家(约旦)请求网站时它工作得很好,
我在我的网站中包含了一个 JS 库 由网页设计公司设计、维护和托管。我试图实现的目标的实现似乎编码得很好——参见我的 JSFiddle – 它工作正常,没有错误。然而,当从我的 JSfiddle 复
我正在尝试在具有Docker Desktop的Windows 10上的Docker容器中使用apache和php提供hello_world.php文件。 这是Dockerfile: FROM php:
我编写了简单的 Java HTTPS 服务器。 创建服务器套接字: KeyStore keyStore = KeyStore.getInstance("JKS"); keyStore.load(
我已经使用带有 Let's Encrypt 证书的 Traefik 部署了一个网络应用。 启用 SSL 后,网站在我的所有设备上都可以正常运行。 我从我的客户那里收到报告,他们无法从他们公司的契约(C
我开始研究 Node js,我正在尝试将 ionic 应用程序与我创建的后端 nodejs 应用程序连接,但我收到此错误: 选项 https://localhost:3000/insert净::ERR
我已经在我的实时服务器上配置了 Websocket,并且我在实时服务器上使用了 SSL。当我在本地主机上使用以下代码时,websockets 没问题。 ws://localhost:8080/serv
我网站的用户在向 api.flickr.com 发出跨域请求时看到间歇性的 ERR_SSL_PROTOCOL_ERROR 我所说的间歇性是指昨天我在大约 1200 个 API 请求中看到这种情况发
我正在尝试为 Azure 应用服务创建应用程序网关。我相应地配置了一切。我没有使用自定义域。我想配置 azure 应用服务默认域。我在 YouTube 上关注了几个视频: https://www.yo
所以我正在尝试部署我的网站并且基本上尝试过 python manage.py check --deploy 并遵循它告诉我的一切: WARNINGS: ?: (security.W004) You h
我刚刚建立了我的第一个免费 Heroku 站点。它有一个注册和登录系统。我没有域名。当我在未登录 Heroku 的情况下访问该站点时,chrome 向我发送错误 ERR_SSL_PROTOCOL_ER
在 AWS 和 SSL 方面,我处于一个非常新的水平。 我从 GoDaddy 获得了 SSL。之后,我在 AWS 上生成了 .csr 文件,并获得了一个弹性 IP。我在 godaddy sub.myd
我刚刚在本地服务器(Xampp 环境,Windows)上使用 Let's Encrypt SSL 证书(非自签名)创建了一个 PHP Web 服务器,所以我的网站 https://example.it
我有一个 Heroku 应用程序并使用自定义子域指向它。假设我的子域是 blog.mysite.com。 当我导航到该站点时,chrome 抛出错误:ERR_SSL_PROTOCOL_ERROR。在地
我希望有一个我一直忽略的简单解决方案。我用 Python 在 Google Cloud App Engine 上创建了一个应用程序,其中包含一些 REST API。每当我尝试使用 API 时,都会收到
只有部分(不是全部)用户在尝试访问我的快速站点时在 Chrome 中收到 ERR_SSL_PROTOCOL_ERROR。我没有收到这个错误,所以调试起来很痛苦。 我正在使用从提供商 (1&1) 下载的
我在我的 python flask 和 heroku(免费计划)网络应用程序中添加了另外两个页面:http://www.getrandomnumbers.com/ ,但是当我尝试访问我的新页面时(无论
WinServer 2012信息系统 8ASP.NET 4.5 我注意到,在使用 IE11 时,某个特定页面会间歇性地加载失败。它只是说“无法显示此页面”。如果我使用 F12 开发工具,网络跟踪显示带
我需要你的帮助。我尝试使用 uWamp 在本地主机中使用 Drupal 创建一个网站。但是每次我尝试访问我的 site/index.php 或只是 site/时,我都会收到一个错误:ERR_SSL_P
我是一名优秀的程序员,十分优秀!