javascript - Socket 不能从外部网络工作(PHP+JS+Apache+SSL+Linux)
问题描述
无法从外部网络连接到套接字。从局域网一切正常。我忘记了什么?在互联网上找不到提示:(
我的 PHP 服务器连接:
$host = 'external_ip'; //also tried: 0.0.0.0, local_ip, domain
$port = 9000;
$path = '/etc/ssl/private/domain.com/';
$transport = 'tlsv1.3';
$ssl = ['ssl' => [
'local_cert' => $path . 'domain.com.cer',
'local_pk' => $path . 'domain.com.key',
'disable_compression' => true,
'verify_peer' => false,
'ssltransport' => $transport
]];
$ssl_context = stream_context_create($ssl);
$server = stream_socket_server($transport . '://' . $host . ':' . $port, $errno, $errstr, STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $ssl_context);
....
JS:
var wsUri = "wss://domain.com:9000/server.php";
websocket = new WebSocket(wsUri);
局域网 - 运行良好
外部网络 - 不是(Chrome 控制台:“到 'wss://domain.com:9000/server.php' 的 WebSocket 连接失败:”)
最好的问候马切伊
解决方案
推荐阅读
- amazon-web-services - GCP 堆栈中的 AWS SNS 等效项
- java - 示例项目之间为 Active Directory 返回的 AccessToken 不同
- docker - Docker npm 在 debian 中找不到:jessie20180831
- javascript - style.left 不会更新
- node.js - 测试安全的 graphql 订阅
- statsvn - REG : 如何在 svn 1.10.2 中运行 StatSVN
- java - 我的程序中有一个错误提示错误:预期的类、接口或枚举。该怎么办?
- android - Android 8 上的 Cordova 插件文件传输问题
- php - PHP PDO 数组结果返回但不适用于 IF
- vue.js - 在组件外部的 Vue JS 中改变一个 Prop