使用Nginx访问WSO2-APIM
我正在使用Nginx访问我的wso2 apim、商店和发行商。 并希望通过以下方式访问:使用Nginx访问WSO2-APIM,nginx,wso2,wso2-am,wso2carbon,nginx-reverse-proxy,Nginx,Wso2,Wso2 Am,Wso2carbon,Nginx Reverse Proxy,我正在使用Nginx访问我的wso2 apim、商店和发行商。 并希望通过以下方式访问: 使用nginx url访问wso2 api管理器,如下所示: 使用nginx url访问wso2存储,如下所示: 使用nginx url访问wso2存储,如下所示: 我尝试在位置块中使用嵌套的位置块,但没有成功。 所以,现在我的工作是分别为它们创建一个位置块,但同样的方法也不起作用 以下是我的商店nginx配置文件: location /wso2am/store/ { proxy_s
location /wso2am/store/
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://wso2-ip:9443/store/;
proxy_redirect https://$http_host/store/ /wso2am/store/;
proxy_cookie_path / /wso2am/;
limit_rate 25M;
#limit_req zone=wso2am burst=100 nodelay;
}
对于上述配置,store的GUI显示不正确
对于publisher和carbon(对于apim管理控制台)也是如此。
嵌套的nginx配置如下:
location /wso2am/ {
location /wso2am/store/
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://wso2-ip:9443/store/;
proxy_redirect https://$http_host/oauth2/callback /oauth2/callback;
proxy_redirect https://$http_host/ /wso2am/store/;
proxy_redirect https://$http_host/wso2am/ /wso2am/store/;
proxy_redirect https://$http_host/store/ /wso2am/store/;
proxy_cookie_path / /wso2am/;
limit_rate 25M;
}
}
我必须在哪里更改标题或任何其他位置才能更正
更新1: 我的wso2am存储和发布服务器在合并注释并使用以下nginx conf后正在工作:
location /wso2am/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://wso2-apim-ip:9443/;
proxy_redirect https://$http_host/carbon/ /wso2am/carbon/;
proxy_redirect https://$http_host/store/ /wso2am/store/;
proxy_redirect https://$http_host/publisher/ /wso2am/publisher/;
proxy_cookie_path / /wso2am/;
}
注意:但使用上述配置,我登录到apim carbon,我会登录,然后如果我单击主页上的任何选项(如列表、添加),我会注销。调查后,我会注销,原因是使用Nginx访问请求时,请求中没有发送CSRF令牌
如何解决csrfprevention.js问题并保持其真实性 您可以按照本指南[1]使用Nginx配置WSO2 API管理器 [1]-
Disclamer:这是一个不完整的答案,因为我自己正在深入研究这个问题 我对wso2am和wso2ei都面临着同样的问题。我非常确定我们需要在本节中编辑
/repository/conf/carbon.xml
(我必须承认,这些评论并不十分清楚):
/wso2am
/
/wso2am
如果您的Nginx在SSL模式下侦听443(由于重定向而无法使用HTTP->如果您计划在本地网络上使用自签名证书,请创建一个自签名证书),则以下操作可以正常工作
位置/wso2am{
代理通行证https://wso2_apimanager_container:9443;
代理设置头主机$Host;
代理集头X-Real-IP$remote\u addr;
代理集头X转发主机$Host;
代理服务器\u ssl\u验证关闭;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
}
位置/wso2am/商店{
代理通行证https://wso2_apimanager:9443/store;
}
位置/wso2am/publisher{
代理通行证https://wso2_apimanager:9443/publisher;
}
位置/wso2am/admin{
代理通行证https://wso2_apimanager:9443/admin;
}
}
这是可行的,但我不完全确定为什么。有人能给我解释一下
与
和
在哪些方面不同吗
允许管理员发布者和存储代理:要使/publisher
、/store
和/admin
可访问,您需要编辑其各自站点的结尾。json
位于/repository/deployment/server/jaggeryapps/name\u of_服务/site/conf/site.json
中。对于/publisher
,您可以编写:
“reverseProxy”:{
“enabled”:“auto”,//值true、false,“auto”-将查找X转发的-*头
“主机”:“some.ip.or.domain”,//如果反向代理没有域名,请使用ip
“上下文”:“/wso2am/publisher”,
//“regContext”:“”//仅当注册表使用不同的路径时使用
},
仍然存在登录问题,尽管我遵循了相同的教程,但在完成此操作后,我的基本wso2 apim应用程序重定向到反向代理IP。因此,无法像以前那样访问基本IP。您是否在carbon.xml中设置了主机名?主机名应该是运行wso2 apim的机器?Pubci,在完成URL中提到的步骤后不起作用。我在帖子中更新了一个更新。Hi@Pubci我仍然无法使用nginx配置碳管理控制台,而store and publisher可以很好地使用nginx。你能给我推荐一些设置吗?试着在
/repository/conf/carbon.xml
中编辑/wso2am