我想在asp.net网站上测试一些子域功能。我只是编辑主机文件并添加127.0.0.1 subdomain.domain.com,这应该工作。
但我的似乎没有。我刷新了dns,重新启动,尝试了新的浏览器,仍然得到错误500.
当我从Visual Studio正常运行asp.net站点时,它转到http://localhost:17365/
。我如何获得此IP地址?
我想我没有全面了解并遗漏了一些碎片。
我运行netstat -n并看到该网站正在[:: 1]运行:17365也许这就是为什么它不能在ipv4下工作?
答案 0 :(得分:5)
在Visual Studio中,当您开始运行网站时,首先将Website Properties > Use Dynamic Ports
更改为False
,然后将Port Number
设置为80
,然后再运行。
默认情况下会启动http://localhost:80
,然后在浏览器中访问浏览器中的subdomain.domain.com
,它会指向您网站的调试实例(假设您仍然拥有127.0.0.1 subdomain.domain.com
在您的主机文件中)。
答案 1 :(得分:4)
解决方案非常简单。
在您编辑host
文件后添加以下行:
127.0.0.1 subdomain.domain.com
您运行自己的网站,个人网站启动,您可以使用此浏览器
http://localhost:[PortNumber]/
(例如:http://localhost:17365/
)
将其更改为
http://subdomain.domain.com:[PortNumber]/
(例如:http://subdomain.domain.com:17365/
)
用手在浏览器的网址上输入,然后就可以了。
答案 2 :(得分:2)
我只是转到Project Properties > Web
,在Servers
下,我选择Use Local IIS Web server
并将Project Url
设置为subdomain.domain.com
。
答案 3 :(得分:2)
有人注册了“lvh.me”,指向127.0.0.1
所以你可以使用: http://lvh.me http://something.lvh.me
答案 4 :(得分:0)
您还必须配置Web服务器。 好的,你改变了主机文件。您的系统(dns)知道与主机的去向(127.0.0.1)。 但是你的网络服务器对subdomain.domain.com一无所知,也没有任何关联。
答案 5 :(得分:0)
当您在Visual Studio中正常启动asp.net站点时,它使用Cassini Web服务器。 我不确定你是否可以为Cassini配置绑定。
我的建议是在IIS中配置一个网站或虚拟目录,绑定到subdomain.domain.com,看看如何做到这一点:Add a binding to a site
您的主机文件应包含以下内容:
127.0.0.1 subdomain.domain.com
然后,subdomain.domain.com的请求将被重定向到您的本地IIS Web服务器(在端口80上),因为绑定配置IIS知道在哪里查找您的网站。
在Visual Studio中的Web项目属性中,您可以配置为在Web tab
中使用本地IIS Web服务器。
答案 6 :(得分:0)
我不确定Visual Studio开发服务器是否可以处理除localhost之外的任何内容。我认为唯一可以改变的是端口号。
你有几个选择。
1)如果需要,安装IIS Express(或完整的IIS)并将Visual Studio配置为指向您在其中设置的站点。您可以手动将绑定设置为subdomain.domain.com
,并且非常灵活。看一下这个答案:Using Custom Domains With IIS Express
2)安装像rinetd这样的端口转发器(如果在hosts文件中有条目,我认为这应该有效)。您应该能够将subdomain.domain.com:<some port number>
映射到localhost:17365
。请注意,rinetd无法检测到您正在使用的域(只是底层IP地址127.0.0.1),因此最好为每个项目使用不同的端口。工作。
答案 7 :(得分:0)
转到applicationhost.config,可以在Windows托盘上找到。 Finding application.config of a current running project in IIS
现在找到
class AttendanceSerializer(serializers.ModelSerializer):
face_image = serializers.SerializerMethodField()
class Meta:
model = Attendance
fields = ('id', 'face_image')
def get_face_image(self, instance):
return (instance.face_image.url if instance.face_image else '')
从bindingInformation删除本地主机。
最后,以管理员身份运行VisualStudio
答案 8 :(得分:0)
我正在使用VS 2017和Webforms(不要说)。
<binding protocol="http" bindingInformation="*:8080:subdomain.domain" />
也可以在记事本中完成。确保此文件中的任何地方都没有重复或旧的条目进行绑定。在步骤1中更改端口后,您可能会获得带有旧绑定的自动生成的重复条目。另外,请确保编辑正确的applicationhost.config文件。此文件位于不同的位置,具体取决于您的VS版本。
以管理员身份运行很烦人,但这是我无法更改端口的唯一方法。另外,我尝试使用其他端口,例如随机分配的VS,但一直从IIS遇到503错误。
答案 9 :(得分:-1)
如果我添加它解析的代码,使用它可以获得IP地址列表
127.0.0.1
请确认这是否是您要找的内容,否则我会删除答案
foreach (IPAddress address in Dns.GetHostAddresses("localhost"))
{
Console.WriteLine(address.ToString());
}