为 Debian VirtualBox 设置反向代理

为 Debian VirtualBox 设置反向代理

我已经创建了一个配置了网络适配器的 debian virtualbox NAT,并Host Only按照以下步骤操作文章使用主机名example和域example.com。它工作正常。我想通过我的主机在本地使用测试域,例如example.com。我C:\Windows\System32\drivers\etc\hosts用内容编辑virtualbox_ip example.com。它们都工作正常。现在我正在尝试为在不同端口上运行的服务设置反向代理。例如,如果在端口 500 上运行一个 httpd 容器,我想将其流量转发到域 test.example.com。

我尝试了不同的方法:

  • 在 VitualBox 上安装 Nginx 代理管理器并将子域名添加到主机的 hosts 文件
  • 在主机上安装 Nginx 并手动设置代理

两种方法都不起作用。真的可以这样做吗?可能是我遗漏了什么或做错了什么。

扩展问题并附上测试示例

我的 Windows Hosts 文件 - 主机

192.168.56.147 example.com

ip a我的虚拟机中的输出

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:53:55:15 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 86207sec preferred_lft 86207sec
    inet6 fe80::a00:27ff:fe53:5515/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:90:d8:4a brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.147/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe90:d84a/64 scope link
       valid_lft forever preferred_lft forever

我的 Debian Hosts 文件 - Virtualbox

127.0.1.1   example.example.com example

安装基本包

sudo apt update
sudo apt upgrade -y
sudo apt install podman


容器存储库配置

sudo nano /etc/containers/registries.conf

替换# unqualified-search-registries = ["example.com"]unqualified-search-registries = ["docker.io", "quay.io"]


Nginx 代理管理器

mkdir -p nginxproxymanager/{data,letsencrypt}
podman run -dt -p 1025:80 -p 1026:81 -p 1027:443 \
-v ./nginxproxymanager/data:/data \
-v ./nginxproxymanager/letsencrypt:/etc/letsencrypt \
--name nginxproxymanager --restart=unless-stopped \
jc21/nginx-proxy-manager 

Nginx 代理管理器配置

在此处输入图片描述

尝试失败。

预期行为:test.example.com 将显示与 example.com:1026 相同的结果,即 nginxproxymanager 本身。

在此处输入图片描述

我甚至尝试在虚拟机内进行 ping 操作。

ping test.example.com

结果

ping: test.example.com: Name or service not known

相关内容