javascript - 强制将 HTTP 重定向到 HTTPS

标签 javascript node.js typescript express ssl

我使用 Node Express 作为服务器。我已经在 NGINX PM2 服务器中配置了 SSL 证书。当我点击 https://api.test.com 时。我可以获得响应,但是当我执行 http://api.test.com 时,我无法得到任何内容(即,它将其识别为未知 URL。

我该如何处理这个问题?我应该在我的代码或 NGINX PM2 中做些什么吗?

代码

var express = require('express');
import application from './route';
const port = normalizePort(3000);
const server = http.createServer(application);
server.listen(port);

最佳答案

最好在 nginx 配置中处理这个问题。这是一个最小的例子:

server {
    listen xxx.xxx.xxx.xxx:80;
    server_name www.example.net;

    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen xxx.xxx.xxx.xxx:443;
    server_name www.example.net;

    root   /vhosts/www.example.net;

    ssl                  on;
    ssl_certificate      /etc/pki/nginx/www.example.net.crt;
    ssl_certificate_key  /etc/pki/nginx/www.example.net.key;



    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

关于javascript - 强制将 HTTP 重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60203931/

相关文章:

node.js - 通过将 useNewUrlParser 设置为 true 来避免 "current URL string parser is deprecated"警告

angular - ionic 2 cordova,安装 cordova 插件类型

Typescript 推断的泛型类型在条件类型中未知

javascript - 在 IF 语句中使用 jQuery 创建元素时出现类型错误?

javascript - 理解 Node 的循环

javascript - 通过 Quickblox 推送通知

node.js - hapi good 注册错误在成功和错误时均未定义

javascript - 什么时候在 UI 交互中需要机器人保护?

javascript - 根据子元素 href 属性将事件类设置为元素

node.js - 实体元数据未找到 : Node. js TypeScript TypeORM