网站已创建,在通过 Internet 访问时可以正常工作。我过去常常通过本地 IP 地址和网站名称访问特定网站。例如 192.168.1.2/name.com。name.com 只是域名吗?这停止工作了,我从来没有时间去解决它。顺便说一句,当我在浏览器中输入 IP 地址时,它会返回虚拟网站文件列表 sites-available 目录中的第一个网站名称。我尝试了名称的不同变体,但输入特定域名却没有任何效果。有什么建议吗?我还想知道防火墙是否会阻止任何本地地址访问网站。我认为不是,因为托管系统的 IP 地址会产生第一个网站(名称以“a”开头)。提前感谢任何想法
答案1
在我看来,这听起来像是可能有一个 Apache 配置文件被设置为将所有裸 IP 请求指向该/var/www
目录。通过附加您要查找的站点的目录名称,您可以正常加载页面。为了做类似的事情,您需要一个“裸”Apache 配置文件。
以下是制作方法:
- 打开终端(如果尚未打开)
- 导航到 Apache
sites-available
目录:cd /etc/apache2/sites-available
- 创建一个内部使用的新文件。也许你可以这样命名
000-local.conf
:
笔记:您可以使用任何您习惯的文本编辑器。sudo vi 000-local.conf
vi
上面的例子更多的是一种习惯的力量,而不是直接的认可。 - 将以下内容粘贴到新文件中:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www ServerName 192.168.1.2 ServerAlias 192.168.1.2 192.168.1.* DirectoryIndex index.php index.html ErrorLog ${APACHE_LOG_DIR}/local-error.log CustomLog ${APACHE_LOG_DIR}/local-access.log combined </VirtualHost> <Directory /var/www> Options FollowSymLinks AllowOverride All Order Allow,Deny Allow From All </Directory>
- 保存文件
- 启用配置文件:
sudo a2ensite 000-local.conf
- 重新启动(或重新加载)Apache:
sudo service apache2 restart
- 在您选择的浏览器中尝试一下
需要注意的事项:
- 如果任何其他配置文件都
192.168.1.2
以 为它的值ServerName
,则会发生冲突。您需要确保每个其他站点都以 FQDN(完全限定域名 - 类似于 website.com)为它的ServerName
值。 - 如果配置文件配置为监听
*
,ServerAlias
那么你需要确保它出现后000-local.conf
按字母顺序排列在目录中。
只要目录中包含的站点不会强制从 重定向192.168.1.2/website.com
到website.com
,那么您应该能够在本地访问这些资源,而无需先在网络外执行 DNS 查找。
答案2
据我所知,192.168.1.2/name.com
IP 被转换为系统路径,例如,此 IP 的主机将重定向到 /home/www/,并将/name.com
格式化为 /home/www/name.com/。因此,如果您的网站未显示,则可能是您的文件夹 name.com 没有任何与 Web 服务器(html、htm、php 等)关联的文件。如果您想将 IP 更改为域名,则必须使用知道如何将其转换为 IP 的 DNS 服务器,或者使用以下模式编辑 /etc/hosts:IP 域名(例如 2.2.2.2 this.is.site),此外,如果您尚未这样做,您还应该在主机配置文件中为其指定哪个 IP。