'Next.JS over HTTPS
Next.js is currently running over HTTP on port 3000. I want to run it on HTTPS port.
I created the key.pem & cert.pem files using this article but am stuck on how to use them.
Please don't suggest articles, I really did a lot of research and then wrote it here. You could explain it like you're talking to an idiot. Because I'm kind of new.
I am sharing the contents of the file "start-server.js" in the path "/node_modules/next/dist/server/lib". I didn't make any changes.
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.startServer = startServer;
var _log = require("../../build/output/log");
var _http = _interopRequireDefault(require("http"));
var _next = _interopRequireDefault(require("../next"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function startServer(opts) {
let requestHandler;
const server = _http.default.createServer((req, res)=>{
return requestHandler(req, res);
});
return new Promise((resolve, reject)=>{
let port = opts.port;
let retryCount = 0;
server.on('error', (err)=>{
if (port && opts.allowRetry && err.code === 'EADDRINUSE' && retryCount < 10) {
(0, _log).warn(`Port ${port} is in use, trying ${port + 1} instead.`);
port += 1;
retryCount += 1;
server.listen(port, opts.hostname);
} else {
reject(err);
}
});
server.on('listening', ()=>{
const addr = server.address();
const hostname = !opts.hostname || opts.hostname === '0.0.0.0' ? 'localhost' : opts.hostname;
const app = (0, _next).default({
...opts,
hostname,
customServer: false,
httpServer: server,
port: addr && typeof addr === 'object' ? addr.port : port
});
requestHandler = app.getRequestHandler();
resolve(app);
});
server.listen(port, opts.hostname);
});
}
//# sourceMappingURL=start-server.js.map
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
