使用 HTTPS 和子域托管
Hosting using HTTPS and subdomain
我是网站托管的新手,请考虑我的问题是不是太愚蠢了,或者这不是问这个问题的正确地点,并指导我到正确的地方。
我的网站(托管在子域上)已经 运行 在 HTTP 上(完美)。我正在使用 Let's Encrypt 迁移到 HTTPS。我已经生成了证书,配置了我的应用程序,然后使用 AWS lightsail 部署了它。我已使用 A 记录指向域名,其中我的 lightsail 实例 IP 由我的子域指向。
问题:每当我使用 URL https://subdomain.mywebsite.com:80 访问我的网站时,它都运行良好,没有隐私错误。我的 HTTPS 服务器侦听端口 80。但是,如果我尝试任何其他 URL,例如 subdomain.mywebsite.com:80 或 subdomain.mywebsite.com,我会在 google chrome 中收到隐私错误说 "Your connection is not private"。
我想我遗漏了一些我自己无法理解的基础知识。
我的应用程序是基于 nodejs 下面是我的服务器的一个片段
const options = {
cert: fs.readFileSync('./sslcert/fullchain.pem'),
key: fs.readFileSync('./sslcert/privkey.pem')
};
app.listen(function () {
console.log("Live");
});
https.createServer(options, app).listen(80, function() {
console.log("From HTTPS");
});
您需要的是将所有对端口 80 的请求重定向到端口 443,这样浏览器会自动应用 https 协议。
这意味着如果有人使用"subdomain.mywebsite.com",它默认是http和端口80,即“http://subdomain.mywebsite.com:80" and you want it to be redirected to "https://subdomain.mywebsite.com”,默认监听你配置的端口443.And您的 https 服务在端口 443 上,这是 https 的标准端口。
你有两种方法:
在 node.js 中进行重定向:查看此答案以获得指导:
使用代理 redirection:have 看看这个博客 post 以获得指导(我与那个博客无关,只是快速浏览了一下 google 搜索): https://serversforhackers.com/c/redirect-http-to-https-nginx
希望对您有所帮助。如果您需要更多说明,请提供一些评论。
我是网站托管的新手,请考虑我的问题是不是太愚蠢了,或者这不是问这个问题的正确地点,并指导我到正确的地方。
我的网站(托管在子域上)已经 运行 在 HTTP 上(完美)。我正在使用 Let's Encrypt 迁移到 HTTPS。我已经生成了证书,配置了我的应用程序,然后使用 AWS lightsail 部署了它。我已使用 A 记录指向域名,其中我的 lightsail 实例 IP 由我的子域指向。
问题:每当我使用 URL https://subdomain.mywebsite.com:80 访问我的网站时,它都运行良好,没有隐私错误。我的 HTTPS 服务器侦听端口 80。但是,如果我尝试任何其他 URL,例如 subdomain.mywebsite.com:80 或 subdomain.mywebsite.com,我会在 google chrome 中收到隐私错误说 "Your connection is not private"。
我想我遗漏了一些我自己无法理解的基础知识。
我的应用程序是基于 nodejs 下面是我的服务器的一个片段
const options = {
cert: fs.readFileSync('./sslcert/fullchain.pem'),
key: fs.readFileSync('./sslcert/privkey.pem')
};
app.listen(function () {
console.log("Live");
});
https.createServer(options, app).listen(80, function() {
console.log("From HTTPS");
});
您需要的是将所有对端口 80 的请求重定向到端口 443,这样浏览器会自动应用 https 协议。
这意味着如果有人使用"subdomain.mywebsite.com",它默认是http和端口80,即“http://subdomain.mywebsite.com:80" and you want it to be redirected to "https://subdomain.mywebsite.com”,默认监听你配置的端口443.And您的 https 服务在端口 443 上,这是 https 的标准端口。
你有两种方法:
在 node.js 中进行重定向:查看此答案以获得指导:
使用代理 redirection:have 看看这个博客 post 以获得指导(我与那个博客无关,只是快速浏览了一下 google 搜索): https://serversforhackers.com/c/redirect-http-to-https-nginx
希望对您有所帮助。如果您需要更多说明,请提供一些评论。