首页 > 解决方案 > 在单个域上使用两个不同的框架 (Oracle Weblogic / Django)

问题描述

假设我的公司在https://example.com有一个站点,并且它由旧版本的 Oracle Weblogic 提供支持。该公司希望最终将站点转换为 Django 框架,但希望零碎完成。

具体来说,它希望在旧框架上维护原始站点,但希望设置一个像 https://example.com/newurl/ 这样的子文件夹或者,像https://newurl.example.com这样的子域)将包含具有新功能等的 Django 项目,并且此新 url 中的任何子目录同样仅包含 Django 应用程序。

我的问题是,是否有可能以这种方式在同一个域中包含两个框架,如果是这样,如何使用 Apache 来处理它?谢谢。

标签: pythondjangooracleapacheweblogic

解决方案


是的,当然有可能。试试反向代理软件,比如:

反向代理是一种代理服务器,它代表客户端从一个或多个服务器检索资源。然后将这些资源返回给客户端,就好像它们来自代理服务器本身一样。[1]正向代理不同,正向代理是其关联客户端联系任何服务器的中介,反向代理是其关联服务器与任何客户端联系的中介。换句话说,代理代表客户端,而反向代理代表服务器。()

Nginx 反向代理示例配置

server {
  listen 80;

  server_name example.com;

  location ~ /newurl {
    proxy_pass http://django-server;
  }

  location ~ /oldurl {
    proxy_pass http://oracle-weblogic-server;
  }
}

HaProxy 反向代理示例配置

frontend http_frontend
bind *:80
mode http
option httpclose
acl is_newurl hdr_end(host) -i newurl
use_backend django if is_newurl
acl is_oldurl hdr_end(host) -i oldurl
use_backend oracle if is_oldurl

backend django
mode http
cookie SERVERID insert indirect nocache
server django django-server:80 check cookie django

backend oracle
mode http
cookie SERVERID insert indirect nocache
server oracle oracle-weblogic-server:80 check cookie oracle

推荐阅读