我已经创建了一个配置了网络适配器的 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