AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1017243
Accepted
Armando Cuevas
Armando Cuevas
Asked: 2020-05-15 19:16:16 +0800 CST2020-05-15 19:16:16 +0800 CST 2020-05-15 19:16:16 +0800 CST

如何对没有外部 IP(私有网站)的实例实施 Cloud Monitoring Uptime 检查

  • 772

Cloud Monitoring 正常运行时间检查允许用户向资源发送请求以查看它是否响应。

由于检查是在 Google Cloud 基础架构之外执行的,因此需要一个外部 ip。

有没有办法对没有公共 IP 的网站(http 请求)实施正常运行时间检查?

google-cloud-platform nginx google-compute-engine google-stackdriver
  • 1 1 个回答
  • 1254 Views

1 个回答

  • Voted
  1. Best Answer
    Armando Cuevas
    2020-05-15T19:16:16+08:002020-05-15T19:16:16+08:00

    TL;DR:是的,通过使用具有外部 IP 的堡垒主机可以查询到达内部站点并使用代理(NGINX、SquidProxy 等)将您的健康检查请求从外部服务传递到您的内部站点。

    你需要什么:

    1. 在您的私有VMS的同一VPC中具有外部 IP 的虚拟机(没有公共 IP 的虚拟机)。
    2. 具有外部 IP 的虚拟机(现在称为探测虚拟机)与托管您的内部网站的虚拟机之间的通信。
    3. (可选,但强烈推荐)您的网站应该有一个健康检查网页。如果站点和系统正常并且最好是身份验证保护,则此页面应返回 200。

    过程:

    1. 在您的内部网站所在的同一 VPC 中创建一个 VM。您可以创建运行您喜欢的 linux 发行版的基本 linux VM 。VM 的大小可以是n1-standard-1或 e2-standard-2,大小实际上取决于您要监控的站点数量。您可能需要根据需要调整 VM 的大小。
    2. 允许您的探测虚拟机与托管您站点的内部虚拟机之间进行通信。建议您只允许内部站点使用的端口。
    3. 限制到您的探测虚拟机的所有流量,以避免任何类型的数据泄漏。使用谷歌云防火墙来实现这一点。(注意:不要忘记将您的 IP 列入端口 22 的白名单,以便管理您的探测虚拟机)
    4. 允许 HTTP(端口 80)流量到您的探测虚拟机到Cloud Monitoring ips。
    5. 在你的探针 vm上安装NGINX Opensource。

    如果您想跳过安装过程,您可以选择使用NGINX PLUS并使用Google Cloud MarketPlace进行安装

    你也可以使用NGINX Docker 容器来完成这个任务。

    1. 将 NGINX配置为反向代理
    2. 在 Cloud Monitoring 中创建正常运行时间检查。

    关于如何配置 nginx 的一些提示和技巧

    当您按照 NGINX 的说明安装 NGINX 时,您将在该过程结束时获得功能正常的 NGINX。但是您可能需要额外的配置才能实现目标。

    1. 修改文件/etc/nginx/conf.d/default.conf以响应任何不包含有效 HOST 标头的请求的 404:
    server {
        listen       80 default;
        location / {
            return 404;
        }
    }
    
    1. /etc/nginx/conf.d/在目录下为您要监控的每个站点创建一个配置文件。即/etc/nginx/conf.d/finance-sites.conf。不要忘记 .conf 终止。

    2. 为您要监控的每个站点设置一个虚假主机,并且不要忘记在Stackdriver Monitoring中设置主机标头。

    3. 每次更改配置时不要忘记检查语法nginx -t并重新加载配置。nginx -s reload

    • 1

相关问题

  • 带有 OpenVPN 的 Google Compute Engine 上的 VPN 服务器

  • 如果您失去了 Google Apps 的管理员权限,如何恢复?

  • 云有多大?[关闭]

  • 谷歌应用引擎中的 joomla

  • 无需短信即可注册 Google AppEngine?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve