VS发布到IIS Express外网Debug(如微信开发)
主要效果是本机调试网站,将网站发布到某域名(如m16758r728.iok.la),可以进入VS断点,不必再用远程调试!!!
环境
VS2015
windows 10操作系统
花生壳(可以用其他内网穿透的软件代替,本文以花生壳为例)
localhost->127.0.0.1&&本机内网IP
产生现象:VS调试发布的站点,localhost可以访问,127.0.0.1和本机内网IP不能访问
产生原因:localhost由ipv6解析,而非ipv4,cmd ping localhost即可发现
解决方案有以下几种:
(1)修改localhost的本地回环,使localhost指向127.0.0.1,而不是ipv6
(2)卸载ipv6,原理同(1)
(3)本机用IIS Express发布站点,配置网站,使之可以识别127.0.0.1和本机内网IP
(4)用本机IIS发布站点,而非IIS Express,并且将项目URL改为127.0.0.1:port(类似(3),步骤少一些)
方案(1)、(2)以修改电脑配置的方式来解决问题,(3)、(4)以修改网站配置的方式来解决问题
本文采用解决方案(3)
1、以管理员身份运行VS,启动调试
2、找到运行的IIS Express,右键“显示所有应用程序”
选中网站,下面显示了配置路径,打开配置文件进行编辑
该配置文件在.sln同目录的隐藏文件夹.vs\config下,名称为applicationhost.config
修改配置文件如下:
在sites节点下添加一个site子节点,并binding localhost、127.0.0.1、本机内网IP(cmd ipconfig),端口号任意(之后需与之一致,本文中端口号设置为8081)
修改name和id,保证不重复
3、停止VS调试,右键项目设置属性
Web-服务器一栏,修改项目URL为127.0.0.1:端口号
至此,127.0.0.1、本机内网IP可以访问IIS Express发布的站点了
内网穿透,给你的内网IP指定域名
1、下载花生壳客户端,在本机安装并登陆
2、在花生壳网页端申请一个免费的域名,点击“内网穿透”一栏,进行设置
至此,通过域名m16758r728.iok.la可以访问当前本机VS调试的程序,可以打断点调试
小贴士
1、不用花生壳做内网穿透,可以用以下方式:
https://natapp.cn/
(免费隧道的域名*.natappfree.cc 被恶意举报,被腾讯封锁,将无法用于微信开发.付费隧道的域名可以使用,且尽量绑定二级域名.)
https://www.ngrok.cc/
2、如果在localhost->127.0.0.1&&本机内网IP过程中遇到其他问题,可以参考下列解决方式:
(1)cmd 以管理员身份运行
netsh http add urlacl url=http://127.0.0.1:你的端口号/ user=everyone
netsh http add urlacl url=http://本机内网IP:你的端口号/ user=everyone
(2)关闭防火墙
(3)右击入站规则->新建规则->端口->特定本地端口处输入8080->允许连接->3个选项全选->输入新规则名称->完成
3、这个问题的结论就是“你要访问你的网站,就去找你网站所在的web服务器的ip和端口”
VS发布到IIS Express外网Debug(如微信开发)的更多相关文章
- VS发布IIS Express,允许外网调式(如微信开发)
环境 VS2015 IIS Express win10操作系统 natapp内网穿透 localhost && 127.0.0.1 && 本机内网IP 产生现象:VS调 ...
- C# VS启动调试项目允许外网调试(微信开发)
转发链接:https://blog.csdn.net/sinat_23050697/article/details/62889693 主要效果是本机调试网站,将网站发布到某域名(如m16758r728 ...
- windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问
在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...
- 内网穿透+VS2015自带IIS express实现本地调试(微信等需要将开发环境暴漏到外网的情况使用)
今天一个兼职结束了,又要开始寻找新的兼职公司了 ,为了贴补家用啊,为了给儿子更好的生活加油! 抒情完毕进入正题,本篇文章要解决的问题是其实在开发微信支付,微信公众号等回调地址必须是外网可访问的80端口 ...
- 修改tomcat编码格式 & tomcat发布WEB项目供外网访问
1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码: <Connector port="8080" prot ...
- 如何使用花生壳 发布WCF服务 进行外网访问
当我们发布WCF服务的时候,可以直接通过服务器的域名或者IP进行. 但是如果仅仅是通过花生壳进行域名解析,需要我们自己在设置的时候注意以下几点, 直接用图说明问题 1.首先配置花生壳,在红色处填写一个 ...
- 如何使用花生壳 发布WCF服务 进行外网访问 z
http://www.cnblogs.com/wanglg/p/5375230.html 当我们发布WCF服务的时候,可以直接通过服务器的域名或者IP进行. 但是如果仅仅是通过花生壳进行域名解析,需要 ...
- 本地Server发布外网Web应用(Oray实现)
主要讲解如何将本地当做服务器,发布Web应用至外网访问. 准备条件: 1.web应用服务(此处为Tomcat作为web应用服务器): 2.花生壳应用: 第一步,正常搭建本地web项目,应用名为 ...
- VS2013无法启动 IIS Express Web解决办法
开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...
随机推荐
- Fragment之一:Fragment入门 分类: H1_ANDROID 2013-11-15 18:16 2799人阅读 评论(2) 收藏
参考自张泽华视频 Fragment是自Android3.0后引入的特性,主要用于在不同的屏幕尺寸中展现不同的内容. Fragment必须被嵌入Activity中使用,总是作为Activity的组成部分 ...
- 在RedHa上安装MRTG监控网卡流量
http://os.51cto.com/art/201103/252149.htm 2011-03-30 15:05 张微波 phpchina 字号:T | T 在RedHa上安装MRTG监控网卡流量 ...
- c3p0 xml配置文件模版
<c3p0-config> <default-config> <property name="driverClass">com.mysql.jd ...
- Cocos2d-x 3.2 Lua演示样例FontTest(字体測试)
Cocos2d-x 3.2 Lua演示样例FontTest(字体測试) 本篇博客介绍Cocos2d-x 3.2中Lua測试项目中的FontTest样例,主要使用了字体文件来创建我们想要的字体样式: 第 ...
- 我的Java开发学习之旅------>Java经典排序算法之归并排序
一.归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是採用分治法(Divide and Conquer)的一个很典型的应用.将已有序的子序列合并,得到全然有序的序列.即先使每一个子序列 ...
- UiwebView and html
基础篇: NSURL介绍 http://blog.csdn.net/ysy441088327/article/details/7416759 网页执行js代码 复制代码 stringByEvalu ...
- 理解Erlang/OTP - Application
http://www.cnblogs.com/me-sa/archive/2011/12/27/erlang0025.html 1>application:start(log4erl). 我们就 ...
- DownLoadManager[20530:228829] DiskImageCache: Could not resolve the absolute path of the old directory.
uiwebview 模拟器打开PDF文件时崩溃.报下面错误,还不知道为什么 DownLoadManager[20530:228829] DiskImageCache: Could not resolv ...
- [GeekBand] 设计模式之观察者模式学习笔记
本文参考文献::GeekBand课堂内容,授课老师:李建忠 :网络资料: http://blog.csdn.net/hguisu/article/details/7556625 本文仅作为自己的学习笔 ...
- radio选择事件 onchange事件 onclick事件
单选框按钮(radio)选择事件怎么设置呢? 既可以在radio标签里设置onclick事件实现,也可以设置它的onchange事件实现,效果一样,代码如下: <input id="r ...