我目前有一个在端口 8000 上运行 Python Web 应用程序的服务器。它可以在 Web 上公开访问(在服务器的 IP 上),没有任何问题。
我想让这个 Web 应用程序在子域上可用,这样您就不必访问 IP 地址即可运行 Web 应用程序。我已经设法打开一个子域来镜像根目录上的内容,但是如何使用 Apache 通过该子域路由我的 Python Web 应用程序?
谢谢你的帮助。
答案1
这实际上就是我所寻找的。
<VirtualHost *:80>
ServerName subdomain.yourdomain.com
ProxyPreserveHost on
ProxyPass / http://localhost:8080/
</VirtualHost>
答案2
如果您的 DNS 配置正确,并且您的子域名my-app.example.com
指向您的服务器的 IP 地址,人们可以立即使用http://my-app.example.com:8000/
它来代替http://<your ip-address>:8000
。
如果您已经在默认的 http 端口(TCP 端口 80)上建立了任何现有网站,则无法让您的 Web 应用直接监听端口 80。相反,您可以使用 Apache 的反向代理功能,这样人们就无需输入端口号:8000
,就可以使用以下方式从默认 HTTP 端口访问您的应用http://my-app.example.com/
设置新的虚拟主机my-app.example.com
:
<VirtualHost *:80>
ServerName my-app.example.com
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>