我希望从连接在同一网络中的移动或平板电脑访问开发工作站(Arch )上的虚拟主机。
我的nginx.conf虚拟主机规范如下所示:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 16M;
# Domain site1.dev
server {
server_name site1.dev;
listen 80;
root /path/to/dir;
location / {
root /path/to/dir;
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path/to/dir/$fastcgi_script_name;
include fastcgi_params;
}
}}
My /etc/host文件包含:
127.0.0.1 localhost localhost.localdomain site1.dev
192.168.1.11 site1.dev这可以在本地主机上工作,但我无法从同一网络中连接的电话或平板电脑到达site1.dev。它只使用IP地址192.168.1.11,如何使用site1.dev名称使其工作?
发布于 2017-07-21 18:19:53
只有当您从dev工作站打开浏览器(或希望到达网络)时,才会读取开发工作站的/etc/hosts文件。如果您从移动设备到达网络,则开发工作站的/etc/hosts将被忽略。
如果您也想从您的移动或平板电脑上以site1.dev的形式到达site1.dev,那么您应该在每个设备上创建一个/etc/hosts-entry (与您的工作站相同)。
其他可能性是当路由器支持本地DNS功能时使用您的路由器。
或者一个复杂的解决方案(一个非常丑陋的黑客)是将DNS服务器安装到您的工作站,并将路由器的DNS设置为您工作站的IP。
发布于 2018-08-10 11:05:00
您只需用IP地址替换server_name站点1.dev,如果您正在开发一些网站或后端来进行测试,否则需要配置DNS
我只要试一试就会觉得:
server_name 192.168.1.11;
你不需要把is放在主机文件中。
https://stackoverflow.com/questions/45241243
复制相似问题