使用 Apache 以基于名称进行虚拟主机的分配
使用Apache进行的路由模式
-
- IPアドレスベース
-
- ポート
- FQDN(ServerName)
有三种分配方法。
本次将通过FQDN(服务器名称)进行验证。
使用FQDN作为VirtualHost的基础
想要在一个IP地址上指定多个FQDN,并引用不同的Web服务器。
虽然需要网页浏览器发送的HTTP请求中包含主机头部,但大多数浏览器都支持这个功能。
保護是我們重視的事情。
-
- Amazon Linux 2
-
- httpd-2.4.39-1.amzn2.0.1.x86_64
- セキュリティグループ
手续
安装Apache
yum -y update
yum -y install httpd
systemctl start httpd
创建各自的DocumentRoot
mkdir /var/www/web10 /var/www/web20 /var/www/web30
echo 'web10.vamdemicsystem.black name-base web-site.' > /var/www/web10/index.html
echo 'web20.vamdemicsystem.black name-base web-site.' > /var/www/web20/index.html
echo 'web30.vamdemicsystem.black name-base web-site.' > /var/www/web30/index.html
在httpd.conf文件的最后一行添加附注
如果只有一个IP地址,可以用*表示。
如果有多个IP地址,则需填写相应的IP地址。
# Add VirtualHost
NameVirtualHost *
<VirtualHost *:80>
ServerName web10.vamdemicsystem.black
DocumentRoot /var/www/web10
</VirtualHost>
<VirtualHost *:80>
ServerName web20.vamdemicsystem.black
DocumentRoot /var/www/web20
</VirtualHost>
<VirtualHost *:80>
ServerName web30.vamdemicsystem.black
DocumentRoot /var/www/web30
</VirtualHost>
读取设置
systemctl restart httpd
确认行动
只需要一个选项,将以下内容用中文进行本地化:
来自服务器本身
请在hosts文件中写入每个主机的完全限定域名(FQDN)。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6
127.0.0.1 web10.vamdemicsystem.black
127.0.0.1 web20.vamdemicsystem.black
127.0.0.1 web30.vamdemicsystem.black
当我使用curl进行确认时,看起来分配得很好。好的!
为什么localhost被视为Web10?
[root@ip-172-31-38-89 ~]# curl http://web10.vamdemicsystem.black
web10.vamdemicsystem.black name-base web-site.
[root@ip-172-31-38-89 ~]# curl http://web20.vamdemicsystem.black
web20.vamdemicsystem.black name-base web-site.
[root@ip-172-31-38-89 ~]# curl http://web30.vamdemicsystem.black
web30.vamdemicsystem.black name-base web-site.
[root@ip-172-31-38-89 ~]# curl http://web40.vamdemicsystem.black
curl: (6) Could not resolve host: web40.vamdemicsystem.black
[root@ip-172-31-38-89 ~]# curl http://localhost
web10.vamdemicsystem.black name-base web-site.
[root@ip-172-31-38-89 ~]#