Привязать Greenlock к указанному c IP-адресу? - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть greenlock express, работающий хорошо в node.js на моем Windows сервере. Однако я добавил еще несколько IP-адресов на сервер и обнаружил, что node.js и greenlock прослушивают порт 443 на 0.0.0.0, тем самым связывая все IP-адреса.

Как сказать greenlock прослушивать порт 443 только на одном указанном c IP-адресе?

Можно ли добавить к этому какое-либо значение конфигурации?

var greenlock = require('greenlock-express')
    .init({ 
        packageRoot: __dirname,
        maintainerEmail: "....",
        configDir: './greenlock.d',
        cluster: false
     });

1 Ответ

1 голос
/ 06 февраля 2020

Это в папке с примерами https://git.rootprojects.org/root/greenlock-express.js/src/branch/master/examples/https/server.js

Это папка, которую вам нужно искать для более продвинутых целей.

"use strict";

// The WRONG way:
//var https = require('https');
//var httpsServer = https.createServer(tlsOptions, app);
//
// Why is that wrong?
// Greenlock needs to change some low-level http and https options.
// Use glx.httpsServer(tlsOptions, app) instead.

//require("greenlock-express")
require("../../")
    .init({
        packageRoot: __dirname,
        configDir: "./greenlock.d",

        maintainerEmail: "jon@example.com",
        cluster: false
    })
    .ready(httpsWorker);

function httpsWorker(glx) {
    //
    // HTTPS 1.1 is the default
    // (HTTP2 would be the default but... https://github.com/expressjs/express/issues/3388)
    //

    // Get the raw https server:
    var httpsServer = glx.httpsServer(null, function(req, res) {
        res.end("Hello, Encrypted World!");
    });

    httpsServer.listen(443, "0.0.0.0", function() {
        console.info("Listening on ", httpsServer.address());
    });

    // Note:
    // You must ALSO listen on port 80 for ACME HTTP-01 Challenges
    // (the ACME and http->https middleware are loaded by glx.httpServer)
    var httpServer = glx.httpServer();

    httpServer.listen(80, "0.0.0.0", function() {
        console.info("Listening on ", httpServer.address());
    });
}

Я видел, что вы оставил вопрос (вчера?), но я забыл ответить.

...