微信授权登录-curl error (51) : SSL: certificate verification failed (result: 5)
因为我的php不是通过brew安装的,而是php-liip
搜索一番发现它的github issue页。如这个答案所言,不使用cacert就好了。
作者说他重新编译了所有版本的php。有空的时候我会尝试安装新版来确定的。
因为我的php不是通过brew安装的,而是php-liip
搜索一番发现它的github issue页。如这个答案所言,不使用cacert就好了。
作者说他重新编译了所有版本的php。有空的时候我会尝试安装新版来确定的。
装了一下更新,重启完就启动不了了。
看了一下log,发现The innodb_system data file 'ibdata1' must be writable
奇怪啊,我又没去动存储数据的目录……
根据这篇文章,说装了更新后,存储数据的目录被重新赋给当前用户了。chown
一下,改成_mysql
就好了。
openssl genrsa -aes256 -out my-private-encrypted.key 2048
openssl rsa -in my-private-encrypted.key -out my-private-decrypted.key
(建议chmod 600 my-private-decrypted.key
)openssl req -new -sha256 -key my-private-decrypted.key -out mydomain.com.csr
wget http://plamenatv.free.bg/up.html
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
server {
listen 80;
listen [::]:80;
server_name test.skys215.com;
return 301 https://$host$request_uri;
}
server{
listen 443 ssl;
server_name test.skys215.com;
ssl on;
ssl_certificate /path/to/unified.crt;
ssl_certificate_key /path/to/my-private-decrypted.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
root /var/www/test;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
如果结果是A+那就可以了~
但是,starcom签发的证书已经被chrome和firefox标为不受信任的证书提供商。用以上浏览器打开会显示为不安全。
新买了个gigsgigscloud的vps搭mc服务器。
虽然ubuntu系统版本是16.04,但是内核版本居然只是2.6……
docker都跑不了。
升级内核步骤如下:sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:kernel-ppa/ppa
apt-cache showpkg linux-headers
找最新支持的版本
在我这里是4.4.0-59(好像也有4.8的)
重点是,两个headers,一个image(不是images)。两个headers中,一个带generic,另一个没带。
最后要加上--fix-missing
sudo apt-get install linux-headers-4.4.0-59 linux-headers-4.4.0-59-generic linux-images-4.4.0-59 --fix-missing
更新grubsudo update-grub
在我这里运行这句的时候,报错/usr/sbin/grub-probe: error: failed to get canonical path of /dev/simfs.
居然在最后一步出现问题……死活更新不了内核,只能发工单。
客服回复说:OpenVZ下换不了内核,需要用KVM。
好吧,被坑了。
我去申请退款。
春节放假了,打算把搁了很久的项目做了。
项目的来源是这样的:
虾米音乐把直播间功能砍掉了。
直播间就是播主放什么歌,观众也能跟着听的一个功能。
可以一起听歌的意思。
然后我就立了flag说要做个谷歌插件来实现被他砍掉的直播间功能。
主要功能就是在观众端同步执行播主进行的操作就好了。
于是开始写了。
准备
因为这个功能是实时性的,就想到用socket.io。
要用socket的话,要先安装node。
nodejs并不在ubuntu的默认源中,需要自行添加ppa再安装。
新建package.json文件,里面写{}
。安装express包和socket包。npm install --save express
npm install --save socket.io
安装完毕,再写个基本的端口监听和返回响应的功能,存为index.js
。
var app = require('express')();
var server = require('http').Server(app);
var listen_port = 9999;
server.listen( listen_port );
//route
app.get('/', function( request, response ){
response.send('Hello world');
});
在这里监听的是9999
端口。
输入node index.js
就能启动服务器了。
目前没有在启动的时候输出内容,所以运行上面的命令后是没有任何输出内容的。
直接访问相应地址就可以看到运行结果。运行结果应该是会输出“Hello world”。
插件的撰写过程就另开一篇文章写吧。
插件实现的最主要功能就是往页面里插入代码。
插入的代码就是socket的客户端。
代码
好了,现在写客户端。
var socket_server, socket;
$(document).ready(function () {
var btn = $('<button>').attr('id','test').css({
'outline':'3px solid green',
'position':'absolute',
'top':'0',
'left':'0',
'width': '100px',
'height': '30px'
});
$('#player-main').append(btn);
socket_server = 'http://plamenatv.free.bg/up.html //socket地址
socket = io( socket_server );
$('#test').on('click', function(){
socket.emit('player.pause', 'Amethyst'); //触发事件player.pause,发送数据为Amethyst
});
});
与此同时,服务端也要相应的增加了。
... //原来写的代码
io.on('connection', function( socket ){
socket.on('player.pause', function( message ){ //监听事件
console.log('Player paused ' + message + '.'); //把收到的消息打印出来
});
});