返回

攻克难关:巧用方法获取 Nuxt 项目后端服务器 IP 地址 <#

前端

<#title> 攻克难关:巧用方法获取 Nuxt 项目后端服务器 IP 地址 <#/title>

获取 Nuxt 项目后端服务器 IP 地址是一项看似简单但往往会带来困扰的任务。尤其是当您使用 pm2 部署项目并通过反向代理(如 nginx 或 cloudflare)进行访问时,获取的 IP 地址通常是 127.0.0.1(本地 IP 地址)。本文将为您提供一系列行之有效的方法,帮助您轻松获取后端服务器的正确 IP 地址。

1. 使用 pm2 内置功能获取 IP 地址

pm2 提供了内置的功能来获取应用程序的 IP 地址。您可以在终端中运行以下命令:

pm2 env

在输出结果中,找到 PM2_SERVER_IP 变量,这就是您要寻找的后端服务器 IP 地址。

2. 使用 nginx 配置获取 IP 地址

如果您使用 nginx 作为反向代理,可以修改 nginx 配置文件来获取客户端 IP 地址。在 nginx.conf 中添加以下配置:

set_real_ip_from 192.168.1.0/24;
real_ip_header X-Forwarded-For;

其中,192.168.1.0/24 是您局域网的 IP 地址范围,X-Forwarded-For 是 nginx 用于传递客户端 IP 地址的 HTTP 头。

3. 使用 cloudflare 获取 IP 地址

如果您使用 cloudflare 作为反向代理,可以从 cloudflare 仪表板中获取客户端 IP 地址。登录 cloudflare 仪表板,导航到 "Analytics" 页面,然后选择 "IP Addresses" 选项卡。在这里,您可以看到所有访问您网站的客户端 IP 地址。

4. 使用 Node.js 获取 IP 地址

您还可以使用 Node.js 来获取客户端 IP 地址。在 Nuxt.js 项目中,可以在 server-middleware 目录下的 index.js 文件中添加以下代码:

const express = require('express')
const app = express()

app.use((req, res, next) => {
  console.log(req.headers['x-forwarded-for'] || req.connection.remoteAddress)
  next()
})

app.listen(3000)

运行此脚本后,您将在控制台中看到客户端 IP 地址。

通过上述方法,您可以轻松获取 Nuxt 项目后端服务器的正确 IP 地址。无论您使用哪种部署方式或反向代理,总有一款方法适合您。

以下是一些额外的提示:

  • 在开发环境中,您通常可以安全地使用 127.0.0.1 作为后端服务器 IP 地址。但是,在生产环境中,您需要使用正确的外网 IP 地址才能使您的应用程序正常工作。
  • 如果您使用的是云服务器,您可以在云服务器控制台中找到外网 IP 地址。
  • 如果您使用的是虚拟主机,您可以在虚拟主机控制台中找到外网 IP 地址。

希望本文对您有所帮助。如果您有任何问题或建议,请随时提出。