当前位置: 首页 > 工具软件 > koa-sslify > 使用案例 >

koa2:网站http重定向到https

曹浩淼
2023-12-01

这两天上线刚备案好的网站,但是用了服务器提供商的一键HTTPS服务,方便的地方是可以强制http转https,比如首页登录http://XXX.com,会自动跳转到https://XXX.com。
但是发现无法通过域名加端口号访问其他端口。因为打算3000端口是用作api的。
后来发现不用一键https服务,换成正常的dns解析,其他端口就可以正常通过域名+端口号访问了。
但是依然想http网站首页自动跳转到https。所以用了koa的重定向。

const fs = require('fs')
const Koa = require('koa');
const app = new Koa()
// 引入https 以及 koa-ssl
const https = require('https')
const sslify = require('koa-sslify').default
const http=require('http')

// 路径为证书放置的位置
const options = {
    key: fs.readFileSync('./XXX.com.key'),
    cert: fs.readFileSync('./XXX.com.pem'),
}
// 自定义https端口
const config = {
    port: 443
}

app.use(require('koa-static')('./public'))
app.use(sslify())  // 使用ssl

// 创建https
https.createServer(options, app.callback()).listen(config.port, (err) => {
    if (err) {
        console.log('服务启动出错', err);
    } else {
        console.log('服务器-server运行在' + config.port + '端口');
    }
});

// 创建http服务,重定向到https
http.createServer((req, res) => {
    res.writeHead(301, { 'Location': 'https://XXX.com' });
    res.end();
}).listen(80);
 类似资料: