XAMPP 默认虚拟主机
XAMPP Default Virtual Host
我有一个 VPS,我已经在其中安装了 XAMPP,并配置了所有安全性。我启用了虚拟主机。我有一个 db.example.com
可以直接在网络上打开 phpMyAdmin
。
httpd-vhosts.conf
中的条目如下:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/opt/lampp/phpmyadmin"
ServerName db.example.com
ServerAlias www.db.example.com
ErrorLog "logs/db.example.com-error_log"
CustomLog "logs/db.example.com-access_log" common
<Directory "/opt/lampp/phpmyadmin">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
让我们假设 1.2.3.4
是我 example.com 的 IP。为了访问 db.example.com (1.2.3.4),我将在本地 /etc/hosts
文件中添加条目。
我的 httpd-vhsots.conf
中还有其他子域的条目,它们运行良好。需要注意的是,db.example.com
的 vhosts
条目在文件 httpd-vhsost.conf
中是 first
问题来了:
当我直接在浏览器中打开 IP 1.2.3.4
时,phpMyAdmin
打开,这实际上不应该发生。如何避免这种情况?我不知道为什么会这样。
PS:我在 /etc/hosts
中删除了 db.example.com 的本地条目
更改 vhsots
条目的顺序将解决问题。如果您直接通过 IP 地址访问服务器,第一个将作为默认条目。
因此,将 vhost
放在您希望在浏览器中点击 IP 时显示的第一个位置。
您可以更改:
<VirtualHost *:80>
至:
<VirtualHost db.example.com:80>
当在此处指定服务器名称时插入“*”,此 vhost 配置将不会捕获 IP 地址或除此之外的任何其他名称。
我有一个 VPS,我已经在其中安装了 XAMPP,并配置了所有安全性。我启用了虚拟主机。我有一个 db.example.com
可以直接在网络上打开 phpMyAdmin
。
httpd-vhosts.conf
中的条目如下:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/opt/lampp/phpmyadmin"
ServerName db.example.com
ServerAlias www.db.example.com
ErrorLog "logs/db.example.com-error_log"
CustomLog "logs/db.example.com-access_log" common
<Directory "/opt/lampp/phpmyadmin">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
让我们假设 1.2.3.4
是我 example.com 的 IP。为了访问 db.example.com (1.2.3.4),我将在本地 /etc/hosts
文件中添加条目。
我的 httpd-vhsots.conf
中还有其他子域的条目,它们运行良好。需要注意的是,db.example.com
的 vhosts
条目在文件 httpd-vhsost.conf
问题来了:
当我直接在浏览器中打开 IP 1.2.3.4
时,phpMyAdmin
打开,这实际上不应该发生。如何避免这种情况?我不知道为什么会这样。
PS:我在 /etc/hosts
更改 vhsots
条目的顺序将解决问题。如果您直接通过 IP 地址访问服务器,第一个将作为默认条目。
因此,将 vhost
放在您希望在浏览器中点击 IP 时显示的第一个位置。
您可以更改:
<VirtualHost *:80>
至:
<VirtualHost db.example.com:80>
当在此处指定服务器名称时插入“*”,此 vhost 配置将不会捕获 IP 地址或除此之外的任何其他名称。