是这样的,我的是 mac,装了一个 virtual box,里面是 centos 的一套 lnmp 环境,网络设置选择的 NAT,将 mac 的 8081 映射到虚拟机的 8081,虚拟机的 8081 是 nginx 其中一个网站根目录。
在 mac 的 /private/etc/hosts 中加入了 xxx.com localhost:8081,这个时候 nginx 相关 server 的 server_name 还是 localhost,在 mac 上访问 localhost:8081 没问题,但是访问 xxx.com 无效。
我应该怎么设置,才能在 mac 上访问 xxx.com 并让虚拟机来处理这个请求?
2
lengxx 2017 年 9 月 6 日 hosts 上还能指定端口的?
|
4
panda1001 2017 年 9 月 6 日 via Android 直接映射 80 不就好了
|
6
yu1u 2017 年 9 月 6 日 via iPhone 如果用路由器的话,楼主用桥接吧,mac 一个网段,然后 nginx 绑定域名,如果还需要外网访问的话解析到公网地址,前提运营商给你的是公网 ip,然后在路由器上映射端口或 dmz ,如果只在内网访问,解析到内网 ip 就可以了!
|
7
hard2reg 2017 年 9 月 6 日 via iPhone hosts 不用指定端口……
server_name 加上你的域名 |
8
Astralis 2017 年 9 月 6 日 从来没听说过 hosts 能指定端口
|
9
UnisandK 2017 年 9 月 6 日 @lml12377 你为啥要把虚拟机的端口映射到本地来然后用 localhost 访问。。直接虚拟机监听 80 然后 hosts 把域名改成虚拟机的 IP 不就行了吗
|
12
chztv 2017 年 9 月 6 日 把 Mac 上的一套环境里 80 端口换个端口,80 给虚拟机就行了。hosts 指定端口是不行的。
|
13
MangozZ 2017 年 9 月 6 日
|
14
RealLiuSha 2017 年 9 月 6 日
缺乏基础知识,负分。 虽然倡导让自己的回复对别人有帮助!
|
15
yxn1910 2017 年 9 月 6 日 比较简单的方式是把虚拟机网卡改为桥接,配置一个固定 ip,然后在 hosts 里把域名指到这个 ip 就可以。
还有个办法是虚拟机加块网卡,使用 host-only 方式,虚拟机上网仍然通过 nat 网卡,但是宿主机访问虚拟机走 host-only 网卡。 |
19
a128445 2017 年 9 月 7 日 via Android 看你想怎么绑呗,只需要本地访问的话
(客户机的) host 改为 127.0.0.1 (虚拟机地址) xxx.com... 然后按照前面的人改 nginx 的 servername 就好了... 如果公网也可以访问...改 nginx 的 servername,不用改 host...DNS 指向公网 ip... |
20
RealLiuSha 2017 年 9 月 7 日
|