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 / 问题 / 1085627
Accepted
Oana
Oana
Asked: 2021-12-08 05:20:24 +0800 CST2021-12-08 05:20:24 +0800 CST 2021-12-08 05:20:24 +0800 CST

VMWare Workstation 和 Windows 10:无法连接到托管在 VM 上的服务器

  • 772

我在 VMWare Workstation 15 上配置了一个私有 2 节点 Kubernetes 集群。我使用的是 MetalLB 和 Calico。入口服务和入口看起来像:

xxx@c1-cp1:~/Desktop$ kubectl get svc -n ingress-controller-2
NAME                                         TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
wsnginx-ingress-nginx-controller             LoadBalancer   10.109.117.222   192.168.44.136   80:30167/TCP,443:30680/TCP   24h
wsnginx-ingress-nginx-controller-admission   ClusterIP      10.105.103.165   <none>           443/TCP                      24h
xxx@c1-cp1:~/Desktop$ kubectl get ing apollo-ingress
NAME             CLASS     HOSTS                ADDRESS          PORTS   AGE
apollo-ingress   wsnginx   test.xxx.com   192.168.44.136   80      3h17m

我正在使用 Nat 网络适配器和静态 IPS。我的端口转发配置如下

在此处输入图像描述

curl -D- http://192.168.44.136 -H 'Host: test.xxx.com'从 VM,返回 200 状态,但我无法从主机 Win10 上访问它,127.0.0.1:8080因为我得到一个404 NGINX NotFound.

你能帮帮我吗?我究竟做错了什么?我怎么能在我的私人网络中公开它?谢谢!


更新 我不确定这是否是正确的方法,但我设法通过更改一点 Ingress 资源从主机连接。我在注释中添加了主机参数,如

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: apollo-ingress
spec:
  ingressClassName: wsnginx
  rules:
    #- host: test.xxx.com
    - http:
        paths:
          - backend:
              service:
                name: apollo-service
                port: 
                  number: 80
            path: /
            pathType: Prefix

现在我的入口看起来像这样

NAMESPACE   NAME                                                   CLASS     HOSTS                        ADDRESS          PORTS     AGE
default     ingress.networking.k8s.io/apollo-ingress               wsnginx   *                            192.168.44.136   80        3h31m

看来我现在也可以从我的主机上访问它了。我有一个 Rest API,所以我刚刚从浏览器打开它http://127.0.0.1:8080

vmware-workstation kubernetes kubeadm bare-metal nginx-ingress
  • 1 1 个回答
  • 157 Views

1 个回答

  • Voted
  1. Best Answer
    p10l
    2021-12-09T04:11:55+08:002021-12-09T04:11:55+08:00

    这似乎是缺少 HTTP 标头的简单问题。

    首先,简短说明:
    只要Host在 Ingress 清单中指定了一个字段,就只接受来自该主机的连接。此信息是从HostHTTP 标头中提取的。如果您未Host在 Ingress 清单中指定字段,则将接受来自所有来源的请求。

    您确实第一次正确发送了请求

    curl -D- http://192.168.44.136 -H 'Host: test.xxx.com'
    

    但是第二次忘记了。
    与上述等效的Powershell是

    Invoke-WebRequest -Uri http://127.0.0.1 -Headers @{"Host"="test.xxx.com"}
    

    从命令行完成这一切都很好也很容易,但是从 Web 浏览器发送请求有点困难。默认情况下,Web 浏览器不允许您修改请求以包含正确的Host标头。然而,这样的功能可以通过扩展来实现:

    • 适用于 Chrome/Chromium 的ModHeader
    • 修改Firefox 的标头值
    • 1

相关问题

  • 构建专用的 VMware 机器进行测试

  • 无法连接到 Ubuntu Desktop 中的端口 80 或 VMWare Workstation 6.52 中的 Server 9.04

  • 运行虚拟网络的可行性[关闭]

  • 使用多个快照最小化 VMware HD 空间

  • 有什么软件可以模拟局域网?

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