您需要从某处创建 SSL 证书(如ZeroSSL)。如果您已经有certificate.crt&private.key文件,请编辑您的server.js文件。
的原始源代码<sapper project directory>/src/server.js是:
import sirv from 'sirv';
import polka from 'polka';
import compression from 'compression';
import * as sapper from '@sapper/server';
const { PORT, NODE_ENV } = process.env;
const dev = NODE_ENV === 'development';
polka() // You can also use Express
.use(
compression({ threshold: 0 }),
sirv('static', { dev }),
sapper.middleware()
)
.listen(PORT, err => {
if (err) console.log('error', err);
});
Run Code Online (Sandbox Code Playgroud)
您可以server.js像这样添加和更改此文件()的一些代码:
import sirv from 'sirv';
import polka from 'polka';
import compression from 'compression';
import * as sapper from '@sapper/server';
const { PORT, NODE_ENV } = process.env;
const dev = NODE_ENV === 'development';
const { createServer } = require('https');
const { readFileSync } = require('fs');
const ssl_port = 443;
const options = {
// The path & file names could be different.
key: readFileSync('/home/ubuntu/ssl/private.key'),
cert: readFileSync('/home/ubuntu/ssl/certificate.crt')
};
const { handler } = polka()
.use(
compression({ threshold: 0 }),
sirv('static', { dev }),
sapper.middleware()
)
.get('*', (req, res) => {
res.end(`POLKA: Hello from ${req.pathname}`);
});
// Mount Polka to HTTPS server
createServer(options, handler).listen(ssl_port, _ => {
console.log(`> Running on https://localhost:${ssl_port}`);
});
Run Code Online (Sandbox Code Playgroud)
添加的代码是:
const { createServer } = require('https');
const { readFileSync } = require('fs');
const ssl_port = 443;
const options = {
// The path & file names could be different.
key: readFileSync('/home/ubuntu/ssl/private.key'),
cert: readFileSync('/home/ubuntu/ssl/certificate.crt')
};
Run Code Online (Sandbox Code Playgroud)
更改后的代码是:
const { handler } = polka()
.use(
compression({ threshold: 0 }),
sirv('static', { dev }),
sapper.middleware()
)
.get('*', (req, res) => {
res.end(`POLKA: Hello from ${req.pathname}`);
});
// Mount Polka to HTTPS server
createServer(options, handler).listen(ssl_port, _ => {
console.log(`> Running on https://localhost:${ssl_port}`);
});
Run Code Online (Sandbox Code Playgroud)
然后你必须运行你的 Svelte/Sapper 应用程序,sudo因为端口 443 的许可。(像这样:sudo npm run dev或sudo npm run start)
运行后sudo npm run dev,您可能会看到以下消息:
$ sudo npm run dev
> TODO@0.0.1 dev /home/ubuntu/ensayar-sapper
> sapper dev
? server (2.1s)
? client (2.1s)
> Running on https://localhost:443
? service worker (42ms)
> Server is not listening on port 3000
Run Code Online (Sandbox Code Playgroud)
您可以忽略该消息Server is not listening on port 3000。
| 归档时间: |
|
| 查看次数: |
2646 次 |
| 最近记录: |