workerman应用ssl

1.生成证书

https://www.cnblogs.com/liyulong1982/p/6106129.html

2.

ini_set('memory_limit','2G');
require_once 'Autoloader.php';

// 证书最好是申请的证书
$context = array(
    'ssl' => array(
        'local_cert'  => '/vagrant/sample/server.crt', // 也可以是crt文件
        'local_pk'    => '/vagrant/sample/server.key',
        'cafile'    => '/vagrant/sample/ca.crt',
        'verify_peer' => true,
// 'allow_self_signed '=>true,
    )
);
// 这里设置的是http协议
// 设置transport开启ssl,变成http+SSL即https


//业务上查询,领取奖励的业务服务进程
$webserver = new \Workerman\Worker('http://0.0.0.0:443', $context);
// 类似nginx配置中的root选项,添加域名与网站根目录的关联,可设置多个域名多个目录
// 设置开启多少进程
$webserver->transport = 'ssl';
$webserver->onMessage = function($con, $msg) {

    $con->send("sssssss") ;

};

\Workerman\Worker::runAll();

3.测试

在/etc/hosts配置127.0.0.1 local.task.com 

curl  --cert ./client.crt   --key client.key   --cacert ca.crt   https://local.task.com:443

openssl s_client -connect local.task.com:443 -cert client.crt -key client.key -CAfile ca.crt

如果verify_peer设置为false,表示不验证客户端的ssl证书,那么就不需要client.crt和client.key,只需要带--cacert或者-k选项,

curl     --cacert ca.crt   https://local.task.com:443

curl     -k   https://local.task.com:443

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 下,可以使用 OpenSSL 库来实现 SSL 应用。以下是在 Windows 下使用 OpenSSL 库实现 SSL 应用的一些步骤: 1. 下载 OpenSSL 库并安装 在 Windows 下,可以从 OpenSSL 的官方网站下载 Windows 版本的 OpenSSL 库并进行安装。安装过程中需要注意选择正确的安装路径,以便在编译应用程序时能够正确地链接 OpenSSL 库。 2. 编写应用程序 在编写应用程序时,需要包含 OpenSSL 库的头文件,并链接 OpenSSL 库。以下是一个简单的例子: ```c #include <openssl/ssl.h> #include <openssl/err.h> int main() { SSL_library_init(); SSL_CTX *ctx = SSL_CTX_new(SSLv23_client_method()); SSL *ssl = SSL_new(ctx); // 在此处进行 SSL 连接 SSL_shutdown(ssl); SSL_free(ssl); SSL_CTX_free(ctx); ERR_free_strings(); return 0; } ``` 在此例中,首先调用 `SSL_library_init()` 初始化 OpenSSL 库,然后使用 `SSL_CTX_new()` 创建一个 SSL 上下文对象,使用 `SSL_new()` 创建一个 SSL 对象,接着进行 SSL 连接,最后使用 `SSL_shutdown()` 关闭连接并释放资源。 3. 编译应用程序 在编译应用程序时,需要使用 OpenSSL 库的头文件和库文件。以下是一个使用 GCC 编译的例子: ``` gcc -o myapp myapp.c -lssl -lcrypto ``` 在此例中,`-lssl` 指定链接 OpenSSL 库的 SSL 模块,`-lcrypto` 指定链接 OpenSSL 库的加密模块。 4. 运行应用程序 在运行应用程序时,需要将 OpenSSL 库的 DLL 文件拷贝到应用程序所在目录或者系统 PATH 中。在 Windows 下,OpenSSL 库的 DLL 文件通常位于安装路径下的 `bin` 目录中,例如 `C:\OpenSSL-Win64\bin`。 以上是在 Windows 下使用 OpenSSL 库实现 SSL 应用的基本步骤。当然,具体实现还需要根据具体的应用场景进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值