Django开发服务器端口转发 - URL被重复了
我在一个远程的CentOS虚拟机上运行着Django开发服务器,这个虚拟机在另一个局域网里。我使用Secure CRT设置了端口转发,这样我就可以通过我的桌面电脑的浏览器访问网页。目前我没有使用Apache服务器,Apache也已经关闭了。
我通过运行 python manage.py runserver 0.0.0.0:80
来启动服务器。
当我在浏览器里输入IP地址或者 www.localhost.com
时,网址的显示好像被重复了一样,主机名被当作路径来读取。
Page not found (404)##
Request Method: GET
Request URL: http://www.localhost.com/http://www.localhost.com/
不过,当我在同一个局域网内访问开发服务器时,页面加载得很好。
我一直在查阅Django的文档和Stack Overflow,但还没有找到类似的问题。有没有人能告诉我,这可能是什么原因,以及可能的解决办法是什么呢?
非常感谢大家的帮助!
1 个回答
0
看起来你请求的网址不太对:http://www.localhost.com/http://www.localhost.com/ 可能应该改成 http://实际机器的IP.com/
我建议你从这里开始查找。你不能通过使用localhost作为主机名来访问虚拟机的80端口,因为localhost可能已经在你的hosts文件中设置好了。
如果你想远程测试你的开发环境,我建议你要么正确设置Apache并使用80端口(而不是使用django的开发服务器——因为权限限制等问题可以通过sudo和其他不好的做法来绕过),要么使用像vagrant share这样的预构建共享开发服务。