"use strict"; //////////////////////// // Greenlock Setup // //////////////////////// //var Greenlock = require('greenlock-express'); var Greenlock = require("../"); var greenlock = Greenlock.create({ // Let's Encrypt v2 is ACME draft 11 // Note: If at first you don't succeed, stop and switch to staging // https://acme-staging-v02.api.letsencrypt.org/directory server: "https://acme-v02.api.letsencrypt.org/directory", version: "draft-11", configDir: "~/.config/acme/", app: require("./my-express-app.js"), // You MUST change these to a valid email and domains email: "john.doe@example.com", approvedDomains: ["example.com", "www.example.com"], agreeTos: true, // Get notified of important updates and help me make greenlock better communityMember: true, telemetry: true //, debug: true }); var server = greenlock.listen(80, 443); var WebSocket = require("ws"); var ws = new WebSocket.Server({ server: server }); ws.on("connection", function(ws, req) { // inspect req.headers.authorization (or cookies) for session info ws.send( "[Secure Echo Server] Hello!\nAuth: '" + (req.headers.authorization || "none") + "'\n" + "Cookie: '" + (req.headers.cookie || "none") + "'\n" ); ws.on("message", function(data) { ws.send(data); }); });