gpt4 book ai didi

node.js - 启用 SSL 时禁用 HTTP

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:29 26 4
gpt4 key购买 nike

我目前已经安装了 tarang:Meteor-ssl-proxy作为一个单独的 Node 应用程序。它使我能够通过 https:// 访问我的 meteor 应用程序但是,我仍然能够通过它的默认 localhost:3000 (或者它的 hostIP: 3000 例如:1.2.3.4:3000)

我该如何禁止通过 3000 直接访问应用程序?

我已经用 force-ssl 试过了包,但它不会强制用户使用 https。

这是我的 taranag-ssl 的 main.js:

~/experimental/Meteor-SSL-proxy$ cat main.js 

var PATH_TO_KEY = "/etc/ssl/server.key",
PATH_TO_CERT = "/etc/ssl/server.crt";
PATH_TO_CHAIN = "";

var fs = require('fs'),
httpProxy = require('http-proxy');

var options = {
ssl: {
key: fs.readFileSync(PATH_TO_KEY, 'utf8'),
cert: fs.readFileSync(PATH_TO_CERT, 'utf8'),
//ca : fs.readFileSync(PATH_TO_CHAIN, 'utf8')
},
target : "http://localhost:3000",
ws: true,
xfwd: true
};

var server = httpProxy.createProxyServer(options).listen(443);

最佳答案

您可以使用 iptables 来拒绝所有对端口 3000 的外部访问,添加类似使用 shell 的规则。

检查实际规则

iptables -nvL --line-numbers

添加新规则

iptables -A INPUT -p tcp --dport 3000 -j DROP

希望对你有帮助。

关于node.js - 启用 SSL 时禁用 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43581370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com