小编not*_*ero的帖子

Socket.io 无法使用 https(让我们加密)

我正在使用 ASP.NET CORE 2.0 构建电子商务。电子商务有一个使用nodejs和socket.io包构建的聊天室。socket.io 服务器位于远程服务器上。当我在本地使用Socket.io 客户端并运行 Visual Studio 调试器来访问远程 socket.io 时,一切正常。

代码是这样的,注意我没有使用https

var app2 = require('express')();
var http = require('http').Server(app);
var http2 = require('http').Server(app2);
var io = require('socket.io')(http);


http.listen(3009, function () {
    console.log('listening on port 3009');
});

http2.listen(3011, function () {
    console.log('listening on port 3011');
});
Run Code Online (Sandbox Code Playgroud)

但是当我发布我的网站并获取 html 页面以及 Nginx/kestrel 提供的 socket.io 客户端时,我收到一条错误消息,说我正在混合某些内容,我没有注意该错误消息,因为我记得我在我的服务器socket.io 和客户端上使用http。所以我改变了socket.io服务器和客户端,但现在我无法连接。

我的改变是这样的:

var app2 = require('express')();
var http = require('https').Server(app);
var http2 = require('https').Server(app2);
var io = require('socket.io')(http);


http.listen(3009, function …
Run Code Online (Sandbox Code Playgroud)

https nginx node.js socket.io lets-encrypt

4
推荐指数
1
解决办法
4148
查看次数

出于安全原因,在执行 composer 命令时已禁用 putenv

我正在学习 Laravel。我使用 WinNMP 安装了 php 7、mysql 和 nginx。我安装了composer,并通过它安装了laravel cli(Laravel\Installer)。自从我创建 Laravel 框架应用程序以来,我一直收到“由于安全原因已禁用 putenv”。我在第一次启动时在浏览器上访问我的 Laravel 应用程序时收到此消息,我通过删除此函数出现在 \vendor\symfony\console\application.php 中的任何位置来消除此错误。我知道这是一个愚蠢的解决方案,但我只是在学习。但是现在我正在学习迁移,我需要执行一些命令,我​​再次收到此错误。有问题的命令是“composer dump-autoload”,我在控制台上收到了这条消息:

  Warning: putenv() has been disabled for security reasons in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer on line 52


 [ErrorException]
  putenv() has been disabled for security reasons
Run Code Online (Sandbox Code Playgroud)

观察。我已经从 php.ini 文件的 disable_function 中删除了这个函数

php nginx laravel composer-php

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

nginx ×2

composer-php ×1

https ×1

laravel ×1

lets-encrypt ×1

node.js ×1

php ×1

socket.io ×1