基于同一IP的不同端口访问不同的网站(可以通过域名去访问)
ip+port1 -》 对应一个域名
ip+port2 -》 对应一个域名
使用域名1访问到ip+port1对应的内容
使用域名2访问到ip+port2对应的内容
通过反向代理实现不同域名对应不同端口
服务端配置
环境:Redhat 8.0
主程序:httpd
首先查看本机IP地址
[root@KATANA extra]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.98.130 netmask 255.255.255.0 broadcast 192.168.98.255
inet6 fe80::d991:9d25:2c80:9272 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c3:cc:5a txqueuelen 1000 (Ethernet)
RX packets 16011 bytes 1485312 (1.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14058 bytes 5176000 (4.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可以看到本机IP是192.168.98.130
在/etc/httpd/conf.d/目录下创建两个虚拟主机监听9090和9091端口
<Directory "/www/port">
AllowOverride None
Require all granted
</Directory>
Listen 192.168.98.130:9090
Listen 192.168.98.130:9091
<VirtualHost 192.168.98.130:9090>
DocumentRoot "/www/port/9090"
DirectoryIndex index.html
</VirtualHost>
<VirtualHost 192.168.98.130:9091>
DocumentRoot "/www/port/9091"
DirectoryIndex index.html
</VirtualHost>
启动httpd服务,测试虚拟主机
配置httpd反向代理,创建反向代理文件
<VirtualHost 192.168.98.130>
#代理域名
ServerName www.port9090.com
#反向代理不需要开启ProxyRequests
ProxyRequests Off Order deny,allow from all
#接受来自任何地方的请求 Allow from all
ProxyPass / http://192.168.98.130:9090
</VirtualHost>
<VirtualHost 192.168.98.130>
ServerName www.port9091.com
ProxyRequests Off Order deny,allow frome all
ProxyPass / http://192.168.98.130:9091
</VirtualHost>
在httpd的配置文件中开启反向代理模块导入配置文件
在/etc/httpd/conf/httpd.conf文件末尾追加
#在apache开启时加载代理模块
LoadModule proxy_module modules/mod_proxy.so
#在apache开启时加载代理http模块
LoadModule proxy_http_module modules/mod_proxy_http.so
#导入conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf
重启httpd服务
[root@KATANA conf]# systemctl restart httpd
[root@KATANA conf]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Fri 2023-02-03 23:48:54 CST; 9s ago
客户端配置
环境:Windows 10
主程序:Edge浏览器
在Windows搜索栏中输入cmd,选择以管理员身份运行
以记事本方式打开hosts文件
C:\WINDOWS\system32>notepad drivers/etc/hosts
在hosts文件尾部追加域名解析(记得保存)
192.168.98.130 www.port9090.com
192.168.98.130 www.port9091.com
结果测试
启动Edge浏览器,在地址栏输入域名查看对应的页面
port9090所对应的9090端口
port9091对应的9091端口
测试成功
1504

被折叠的 条评论
为什么被折叠?



