frps https使用
2018-08-02 本文已影响232人
samael
frps https使用
申请免费证书
这里可以在网上找一个免费的https证书, 生成之后下载到本地
设置frps端口
[common]
bind_port = 7000
vhost_http_port =8080
vhost_https_port =9090 # https 端口号, 可以和http设置同一个
# 以下为监控面板的设置
dashboard_port = 7500
# dashboard's username and password are both optional,if not set, default is admin.
dashboard_user = username
dashboard_pwd = pwd
设置https服务
这里用了socket.io的教程示例改的https协议
const app = require('express')();
// const http = require('http').Server(app);
const fs = require("fs");
var options = {
key: fs.readFileSync('keys'), // 设置证书与私钥文件路径
cert: fs.readFileSync('cert')
};
var server = require('https').Server(options,app);
const port = 9090
const io =require('socket.io')(server)
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
socket.on('disconnect', () => {
console.log('user disconnected');
});
socket.on('chat message', function(msg){
console.log('msg')
io.emit('chat message', msg);
});
});
server.listen(port, function () {
console.log('Https server listening on port ' + port);
});
测试
image注意:
网上很多使用frps的教程其实对https的使用没有说清楚. frps其实不用走nginx的服务, 如果设置nginx的端口号反而会让穿透不成功, 所以https这些证书的验证需要做的自己的服务里