首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使本地网站对本地网络中的所有设备可用

问使本地网站对本地网络中的所有设备可用
EN

Stack Overflow用户
提问于 2019-04-08 22:30:43
回答 1查看 567关注 0票数 1

我已经创建了一个LAMP服务器,在那里我托管了几个网站。

这些网站目前只有在我从我的Ubuntu机器上访问时才可用。

如何修改虚拟主机,使网络中连接的所有设备也可以访问这些网站?

网站的.conf文件位于/etc/apache2/sites-available/中,如下所示:

Website1.com

代码语言:javascript
复制
<VirtualHost *:80>
  ServerAdmin webmaster@website1.com
  ServerName website1.com
  ServerAlias www.website1.com
  DocumentRoot /var/www/html/website1.com/public

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Website2.com

代码语言:javascript
复制
<VirtualHost *:80>
  ServerAdmin webmaster@website2.com
  ServerName website2.com
  ServerAlias www.website2.com
  DocumentRoot /var/www/html/website2.com/public

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

hosts文件如下所示:

127.0.0.1 localhost website1.com website2.com

这两个网站都可以从我的Ubuntu机器上访问,只需在浏览器中输入它们的名称,但网络中的任何其他设备都无法访问它们。

EN

回答 1

Stack Overflow用户

发布于 2020-03-09 00:17:19

你必须做两件事。

1.设置Apache虚拟主机

虚拟主机必须监听您的内网IP,而不是本地主机。在终端中使用ifconfig命令找到您的内网IP,并在输出中查找。

代码语言:javascript
复制
$ ifconfig
...
wlp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.11  netmask 255.255.255.0  broadcast 192.168.88.255
...

我的内网ip是192.168.88.11

虚拟主机必须监听它:

代码语言:javascript
复制
<VirtualHost 192.168.88.11:80>

备注!也许*:80也可以!

2.在本地网络中设置DNS服务器。

本地网络中的其他机器必须知道website1.com的位置。DNS服务器必须将website1.com解析为192.168.88.11.

我的路由器是MikroTik。并且通过管理面板,使用路由器的终端,我可以配置域名的静态DNS来解析到内部ip。

代码语言:javascript
复制
/ip dns static add name=website1.com address=192.168.88.11

此外,我还可以使用正则表达式来匹配使用一个静态记录的多个域。下面的正则表达式匹配所有.lan域: foo.lan、bar.lan、anysite.lan等。并将它们全部解析为192.168.88.11。

代码语言:javascript
复制
/ip dns static add regexp=".+\.lan" address=192.168.88.11

您必须了解路由器的功能才能对其进行设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55575778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档