我正在使用 EC2,并且能够创建在端口 80 上具有 django 应用程序和在 8080 上具有 tomcat 的实例。现在,使用弹性 IP,我可以设法将我的域重定向到 django 应用程序。现在我想将子域映射到每个 tomact 应用程序。例如
django app (ec2...:80) --> mydomain.com
tomcat (ec2...:8080) --> tomcat.mydomain.com
webbapp1 (ec2...:8080/webapp1/) --> webapp1.mydomain.com
使用免费帐户可以实现这个功能吗?
再见
答案1
您需要反向代理。我建议使用 Nginx。
在执行此操作之前,您需要将 Django 应用移动到其他端口,因为反向代理需要绑定到端口 80。例如,将其移动到端口 8081。
这是一个示例配置:
server {
listen 80 default;
server_name mydomain.com;
# Forward to Django
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081/;
proxy_redirect off;
}
}
server {
server_name tomcat.mydomain.com
# Forward to Tomcat
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
}
}