相关疑难解决方法(0)

如何在Express中获取完整的URL?

假设我的样本网址是

http://example.com/one/two

我说我有以下路线

app.get('/one/two', function (req, res) {
    var url = req.url;
}
Run Code Online (Sandbox Code Playgroud)

价值url将是/one/two.

如何在Express中获取完整的URL?例如,在上面的情况下,我想收到http://example.com/one/two.

url node.js express

441
推荐指数
17
解决办法
41万
查看次数

如何在节点中确定用户的IP地址

如何从控制器中确定给定请求的IP地址?例如(快递):

app.post('/get/ip/address', function (req, res) {
    // need access to IP address here
})
Run Code Online (Sandbox Code Playgroud)

api ip node.js

318
推荐指数
15
解决办法
31万
查看次数

获取请求的真实 ip 地址而不是 Cloudflare 的 ip 地址

Cloudflare 更改传入请求的 IP 地址,因为 Cloudflare 是我的网站和互联网之间的中间件,即代理。

我应该如何获取请求的初始 IP 地址,而不是 Cloudflare 的 IP 地址。我听说过,mod_cloudflare但是这个插件是否只更新了我日志中的 ip 地址(?),而且我没有找到 nginx 的版本。

javascript nginx node.js cloudflare

8
推荐指数
1
解决办法
4737
查看次数

当单独的客户端和服务器应用程序在带有 Nest.js 的 Node 中时,如何获取用户的 IP 地址

我有两个应用程序,一个是前端(react.js),一个是 REST API 后端(基于express.js 的nest.js)。前端客户端向后端请求时如何获取访问后端的用户IP地址?

我检查了这个问题并尝试了解决方案

使用单独的客户端和服务器应用程序,如何在 Node 和 Koa 中获取用户的 IP 地址?

Express.js:如何获取远程客户端地址

但我得到的是前端的服务器IP而不是客户端IP。

有没有一种方法无需对前端应用程序进行任何更改,就可以在nest.js中获取真实的客户端IP?

node.js express reactjs nestjs

7
推荐指数
3
解决办法
2万
查看次数

如何从请求上下文nestjs获取IP地址?

我想使用 IP 地址构建简单的身份验证,我列入白名单的某些 IP 地址可以访问 API。但是当我request.ip只使用它时,我遇到了一个问题::1,它的输出不是真实的IP地址。

如何在nestjs中获取用户IP地址?这是我现在的代码


import {
  Injectable,
  CanActivate,
  ExecutionContext,
  Logger,
} from '@nestjs/common';
import { Observable } from 'rxjs';

@Injectable()
export class AuthGuard implements CanActivate {
  canActivate(
    context: ExecutionContext,
  ): boolean | Promise<boolean> | Observable<boolean> {
    const request = context.switchToHttp().getRequest();
    const allowedIp: Array<string> = ['129.2.2.2', '129.2.2.2'];
    if (process.env.ENV === 'production') {
      const ip = request.connection.remoteAddress;
      Logger.log(ip, 'ACCESSED IP ADDRESS');
      if (allowedIp.includes(ip)) {
        return true;
      } else {
        return false;
      }
    } else { …
Run Code Online (Sandbox Code Playgroud)

typescript nestjs

6
推荐指数
1
解决办法
1万
查看次数

容器中的 Node.js 总是获取 docker0 ip

我在 docker 容器中托管了一个带有 express.js 的 node.js 服务器。我的容器的地址是 172.17.0.62 而我使用 nginx 将流量重定向到 172.17.0.62

我可以访问我的服务器。但是当我使用

console.log(req.ip + ' ' + req.protocol + ' ' + req.originalUrl);
Run Code Online (Sandbox Code Playgroud)

记录流量。req.ip 始终为 172.17.42.1。我想获取我的网页查看者的 ip

我在我的 nginx 配置中使用它

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Run Code Online (Sandbox Code Playgroud)

cat /proc/sys/net/ipv4/ip_forward # output 1
Run Code Online (Sandbox Code Playgroud)

nginx docker

5
推荐指数
1
解决办法
2762
查看次数

使用Express限制对Node.js的访问

我有一个位于服务器中的运行node.js脚本.我想要的是它不能直接从浏览器访问,我也希望只有某些域/ IP-s可以调用它!可能吗?!

javascript restriction node.js express server

5
推荐指数
1
解决办法
1426
查看次数

针对特定路线的Express ip过滤器?

是否可以将不同的ip过滤器应用于不同的路由?

例如,我只希望123.123.123.123的人可以访问我的服务器/test路由,只有来自124.124.124.124的人才能访问我服务器的/路由.

我知道express-ipfilter可以通过IP地址限制站点访问.但它不能将过滤器应用于特定路线.

我也知道app.use(ipfilter(ips, {}));在路由中间添加只能对以下路由应用过滤器:

var express = require('express'),
    ipfilter = require('express-ipfilter').IpFilter;

var ips = ['::ffff:127.0.0.1'];
var app = express();

app.get('/test', function(req, res) {
    res.send('test');
});

app.use(ipfilter(ips, {})); // the ipfilter only applies to the routes below

app.get('/', function(req, res) {
    res.send('Hello World');
});

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

但我想为不同的路线使用不同的过滤器.

是否有可能做到这一点?

ip access-control node.js express

4
推荐指数
2
解决办法
6157
查看次数

如何在nodejs模型中获取用户ip?并在我的表格列ip_address中更新

我想在模型中编写函数以获取用户ip,并希望存储在用户表中的节点js中具有列名ip_address。(使用express,mysql)

  User.prototype.userip= function(req, res)
  {
    // here need access to IP address here
  }
Run Code Online (Sandbox Code Playgroud)

node.js express

2
推荐指数
1
解决办法
49
查看次数