我已经安装了API管理器1.6.0并且还运行了API Manager.但问题是存储区内显示的IP地址是服务器的私有IP.私有IP通过VPN访问.
以下是商店中显示为生产和沙盒网址的网址,
http://192.168.6.162:8280/railway/2.0
Run Code Online (Sandbox Code Playgroud)
对于192.168.6.162,我已经分配了一个公共IP,103.11.35.xx并且也分配了一个域my-domain-name.
我想看到的如下,
http://my-domain-name/railway/2.0
Run Code Online (Sandbox Code Playgroud)
如何配置API Manager以显示域名而不是带端口的IP地址?
我正在做一些非常简单的脚本中介作为测试,以查看是否可以更改服务器返回的有效负载。
我未调解的有效负载显示为:
{"origin":"202.37.75.130"}
Run Code Online (Sandbox Code Playgroud)
然后,我尝试做一个非常简单的检查,看看是否为有效负载获取和设置工作:
<script language="js">
var older = mc.getPayloadJSON();
var newer=older;
mc.setPayloadJSON(newer);
</script>
Run Code Online (Sandbox Code Playgroud)
我的结果是:
{"jsonObject":""}
Run Code Online (Sandbox Code Playgroud)
我已经完成了测试,表明setPayloadJSON()可以工作,这意味着我的getPayloadJSON必须返回一个空对象。
查看日志文件显示以下内容:
ERROR {org.apache.synapse.mediators.bsf.ScriptMessageContext} - JSON object is null. {org.apache.synapse.mediators.bsf.ScriptMessageContext}
Run Code Online (Sandbox Code Playgroud)
还有其他人遇到此错误吗?
我有上传文件的休息服务,它工作正常.现在我在API管理器中创建了API,并且还提供了与生产端点相同的文件上载服务.但是现在我在使用API管理器端点上传文件时在我的支持服务器中收到错误.
假设WSO2的API管理器的实例接收来自外部客户端的API调用,可以将调用者的IP地址传递给后端(例如,在标题中,也欢迎其他解决方案)?如果有,怎么样?
我创建了一个简单的API,我正在尝试使用WSO2的API Publisher(又名API Cloud)发布它.我已经完成了所有步骤,但似乎需要一个Authorization标头来访问我的端点.在较旧的文档中,它表示我可以在资源级别更改"Auth Type".
https://docs.wso2.com/display/AM160/API+Resources
但是,当前版本中似乎没有此选项.我尝试这样做,因此不需要Authorization标头.不幸的是,我仍然收到以下错误:
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
<ams:code>900902</ams:code>
<ams:message>Missing Credentials</ams:message>
<ams:description>Required OAuth credentials not provided</ams:description>
</ams:fault>
Run Code Online (Sandbox Code Playgroud)
是否可以禁用我的API身份验证?在我的项目中,我现在不需要它.
我从WSOAM生成JWT令牌,然后作为标头传递给API.我在nodejs中创建了我的API,我使用jsonwebtoken插件来验证和解码JWT.
我无法找到Wso2carbon的RSA公钥来验证/解码令牌.
请帮助我如何生成RSA公钥或在哪里可以找到此密钥?
对于WSO2 api管理器,处理程序和序列之间的区别或关系是什么.
我想为每个api提供一些条件.根据条件,它将检查api请求是否已通过该条件.如果我需要使用序列或处理程序,我不确定.
如何.pem从 API Manager 导出公钥( ) wso2carbon.jks?我想把它放在/etc/ssl/certs/ca-certificates.crt我的linux服务器上。我这样做是为了解决像我这样的问题
我正在使用WSO2 API Mananger管理我的API。到目前为止,每个API都是私有的,可以使用访问令牌进行访问。新的用例是一些纯粹公开的API。任何人都可以匿名访问它们。没有任何令牌/访问详细信息的GET,POST,PUT都应该起作用。
我通过WSO2 API管理器公开了API,没有任何作用域。试图在没有任何令牌的情况下访问它们;但是它不起作用。它说未找到必需的oAuth credentails。还有其他方法可以公开API,以便匿名访问它们吗?
我已经在服务器上安装了WSO2 Api Manager,并且正在尝试添加Analytics(分析)。问题是当我在WSO2 Api Manager中更改管理员密码时,我的Google Analytics(分析)实例会保留其旧密码。因此,Api Manager无法再访问Google Analytics(分析)。
如何更改API-M Analytics的密码并创建其他用户?
谢谢 !
编辑:APIM版本2.6.0和APIM-Analytics 2.6.0
我在我的deployment.yaml中添加了auth段,并在api-manager.xml中更改了密码(Analytics段,StreamprocessorPassword属性和StreamProcessorRestApiPassword属性),以与我的Deployment.yaml中的密码匹配。
我还更改了log4j.properties内部的密码(DAS_AGENT和LOGEVENT)。API管理器一直在说我的用户名或密码错误(用户名未更改)
API管理器日志
TID:[-1] [] [2018-11-27 15:51:41,481]错误{org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker}-尝试连接至端点时出错。无法借用ssl://10.16.243.135:9711的客户端。{org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker} org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException:无法为ssl://10.16.243.135:9711借用客户端。在org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.connect(DataEndpointConnectionWorker.java:134)处在org.wso2.carbon.databridge.agent.endpoint.DataEndpointConnectionWorker.run(DataEndpointConnectionWorker.java:59)处java.util.concurrent.FutureTask.run(FutureTask.java:266)上的.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util.concurrent上。
API Manager Analytics工作日志
错误{org.wso2.carbon.databridge.core.internal.queue.QueueWorker}-删除格式错误的事件发送的org.wso2.carbon.databridge.core.exception.EventConversionException:转换事件包的loganalyzer:1.0.0时出错org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:188)上的事件1 org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java: 90)在org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:72)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)上的.concurrent.FutureTask.run(FutureTask.java:266)。java.lang.Thread.run(Thread.java:748)上的ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)原因:org.wso2.carbon.databridge.core.exception.EventConversionException:streamId loganalyzer没有StreamDefinition: 1.0.0存在于org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:171)的缓存中...还有7个
wso2 ×10
wso2-api-manager ×10
wso2carbon ×5
wso2esb ×2
api ×1
api-manager ×1
backend ×1
ip ×1
ip-address ×1
wso2-cloud ×1
wso2-esb ×1
wso2is ×1
wso2sp ×1