swoole实现https

编译swoole

初次编译

phpize
./configure --enable-openssl --enable-http2
make && make install

重新编译扩展,漏参数时需要重新编译。

./configure
make clean

查看swoole参数情况

php --ri swoole	

先使用openssl生成证书

# 生成私钥(Generate a private key) : server.key 密码随便输123456
openssl genrsa -des3 -out server.key 2048

# Generate a CSR : server.csr 
# 在创建ca证书的过程中,需要输入一些信息。其中,countryName、stateOrProvinceName、organizationName、organizationalUnitName这四个选项的内容必须要填写,并且需要记住。在生成后续的证书过程中,要保证这四个选项的内容一致。
openssl req -new -key server.key -out server.csr

# Remove Passphrase from key : server.key.org 、server.crt
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

# 产生自签名证书(Generate self signed certificate): server.crt
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

启动服务器

<?php
$server = new Swoole\Coroutine\Http\Server('0.0.0.0', 9509, true);
$server->set(
    [
        'ssl_key_file'  => __DIR__ . '/config/server.key',
        'ssl_cert_file' => __DIR__ . '/config/server.crt',
    ]
);
//...
$server->start();  

swoole实现https
http://blog.icy8.cn/posts/53322/
作者
icy8
发布于
2021年5月5日
许可协议