【php】外部主机访问虚拟机IP,自动跳转IIS7

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【php】外部主机访问虚拟机IP,自动跳转IIS7相关的知识,希望对你有一定的参考价值。

我是在虚拟机里面用phpstudy搭建了一个PHP环境,想在外部主机通过访问虚拟机IP的方式来访问内部的网站.

现在是我通过nat方式让,主机能ping通虚拟机,虚拟机不能ping通主机(我主机防火墙没关,我只想主机访问虚拟机)
虚拟机设置了静态ip 192.168.25.111和子网掩码 网关和dns均未设置
vmnet8 ip设置为了192.168.25.222和子网掩码 网关和dns均未设置

下面是外部主机ping虚拟机

在内部虚拟主机中访问localhost或者127.0.0.1

内部也能访问phpinfo页面

当我在外部主机中输入虚拟机的ip地址时,自动跳转到iis7的界面,输入localhost和127.0.0.1也一样跳转到iis7

但外部主机却能访问phpinfo页面

我怀疑是iis的问题,然后就根据这篇文章
http://www.cnblogs.com/yplong/p/4263469.html
将iis重置了(根据里面提示也将host也修改了)
但还是一样会跳转iis

所以特地来求救,谢谢了

感觉是你安装的php组件中的apache web服务和IIS冲突了!
建议要么配置IIS,要么卸载IIS组件,单纯使用apache即可!
另外虚拟机下最好设置网关192.168.25.1。
参考技术A 域名和IP绑定一下就可以了 参考技术B 私聊帮你看下吧

外部网络通过端口映射访问部署在虚拟机里的docker中的web应用

前文说明:

 Windows主机 IP:10.100.70.135

 Linux 虚拟机  IP:192.168.233.129

 Docker容器   IP:172.17.0.11

 为方便测试使用,通常我们选择在windows主机中安装虚拟机这(这里选的是VMware workstation),在虚拟机中部署docker容器。而我们部署在docker中的容器外部网络(和windows同一层的网络)是无法访问的。

为了解决这个问题,可以采用一下这种方案。

 

一、创建容器时可以选择docker自带的端口映射功能能够跨网络实现172.17.0.11192.168.233.129的通信。参考命令如下,docker的其他使用方法这里不再赘述

docker run -it -p 8003:80 --name nginx1  cariden/centos6.7 /bin/bash

这里我们可以通过访问192.168.233.1298003端口映射到172.17.0.1180端口,也就是可以直接访问nginx服务

技术分享

docker中部署一个外部服务以供访问,并创建一个简单索引页

技术分享

 

二、采用vmware自带的虚拟网络编辑器实现外部网络访问虚拟机内的服务

1.点击”编辑“->”虚拟网络编辑器“,如图

技术分享

2.选择”NAT“,然后点击”NAT设置“,如图。

技术分享

3.接下来点击”添加“,让访问主机的8004端口映射到虚拟机里8003端口。

技术分享

4.在弹出来的界面中分别填入主机端口,虚拟机IP,虚拟机端口,如图

技术分享

5.确定后,我们就将虚拟机中的80号端口映射到宿主机的8086号端口了。可以外部网络测试了,选择和主机同一层的其他机器做测试就可以了。

技术分享

6.测试通过!

注:如果以上步骤操作还是不能访问,考虑一下防火墙的问题,可以在防火墙入口规则里开放8004端口,这里为了便于测试我把防火墙关掉了。


本文出自 “7286083” 博客,请务必保留此出处http://7296083.blog.51cto.com/7286083/1876077

以上是关于【php】外部主机访问虚拟机IP,自动跳转IIS7的主要内容,如果未能解决你的问题,请参考以下文章

VirtualBox 设置静态ip,实现虚拟机和宿主机互相访问,并能访问网络

如何用Virtual PC 虚拟机和主机建立网络

虚拟机如何设置IP和宿主机的IP在同一网段内?

virtualbox虚拟机之连接本地主机同时可以连接外部网络

关于虚拟机的三种网络模式设置

外部网络通过端口映射访问部署在虚拟机里的docker中的web应用