WSO2 APIM:针对不同上下文的子域

时间:2016-07-28 22:23:31

标签: nginx wso2 wso2-am

我们已部署并运行WSO2 API Manager 1.10.0。虽然我们试图弄清楚是否有可能有多个子域。

例如:

store.domain.com
publisher.domain.com
carbon.domain.com

这一切都可能吗?我们已经看到了这个https://docs.wso2.com/display/Carbon442/Adding+a+Custom+Proxy+Path,但这适用于不同的应用程序,我们只想使用API​​管理器执行此操作。

在API Manager前面,我们正在使用带反向代理的nginx。下面,你可以找到一个来自nginx的片段来帮助理解问题。

server {
    listen 80;
    server_name store.domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    ssl on;
    ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH";#:AES128+EDH";
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security "max-age=63072000";

    server_name store.domain.com;

    ssl_certificate /etc/nginx/ssl/domain.com/self-ssl.crt;
    ssl_certificate_key /etc/nginx/ssl/domain.com/self-ssl.key;

    access_log  /var/log/nginx/store.log;
    underscores_in_headers on;

    location / {
        proxy_pass http://wso2server:9443/store/;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

尝试使用HTTP进行访问时(对于商店上下文)一切正常,但只要我们将其切换到HTTPS,就会在nginx upstream prematurely closed connection while reading response header from upstream中出现以下错误而失败,但我们在API Manager中看不到任何内容日志。

提前致谢!

最好的问候

1 个答案:

答案 0 :(得分:0)

您可以通过以下方法之一解决您的问题。

  1. 将proxy_redirect配置添加到Nginx。所以nginx会将所有URL重写为正确的URL。请参阅以下配置段。
  2. proxy_redirect http://wso2server/ http://store.domain.com/;
    
    1. 您也可以通过在API Manager存储中添加反向代理配置来实现相同目的。要执行此操作,请打开“repository / deployment / server / jaggeryapps / store / site / conf / site.json”并查看以下配置部分
    2.   

      “reverseProxy”:{               “enabled”:false,//值true,false,“auto” - 将查找X-Forwarded- *标头               “host”:“sample.proxydomain.com”,//如果反向代理没有域名,请使用IP               “上下文”: “”,             //“regContext”:“”//仅当注册表使用不同的路径时才使用           },