Nos arquivos de configuração que defini, hostname
e transport.https.properties
no arquivo deployment.toml.
Eu configurei o Nginx exatamente como os documentos abaixo:
aqui
mas não funciona. O problema é que conforme tento abrir o portal da editora ele pede o login e após o login, com nome de usuário e senha corretos, não consegue introspectar esta url recebe o erro HTTP-500, então redireciona para a página de Login e como eu tenho logado, ele me redireciona para a página da API e como não pode fazer uma introspecção, ele me redireciona para a página de login e esse loop continua para sempre!
Queria saber o que estou faltando e como poderia ser configurado para resolver esse problema?
Aqui está um problema semelhante
Olá @ amir-dh,
Você poderia tentar habilitar o proxy reverso em
wso2am3.0.0 / repository / deployment / server / jaggeryapps / publisher / site / public / theme / defaultTheme.js
const REVERSE_PROXY = {
habilitado: verdadeiro,
origin: 'api.am.wso2.com',
};
@isharac
Eu configurei o proxy reverso
const REVERSE_PROXY = {
habilitado: verdadeiro,
origem: ' MyDomain ',
};
mas novamente não funciona. quando abro o portal do editor, ocorre o erro invalid_callback
@ amir-dh,
Você precisa atualizar os URLs de retorno de acordo.
Esta é uma implantação autônoma?
Já identificamos o problema na entrada do NGINX, mas se for uma implantação autônoma, deve mudar os urls de retorno de chamada.
Consulte meu blog [1] e altere os URLs de retorno de aplicativos admin_publisher e admin_store SP de acordo com seu nome de host.
Desculpe o transtorno, mas nossos documentos estão em WIP. Atualizaremos os documentos em breve.
[1] https://ishara-cooray.blogspot.com/2019/11/how-to-change-devportal-to-different.html
@isharac
Eu atualizo os URLs de retorno, mas não funciona
depois disso, executo o Nginx e o ApiM 3.0 no localhost e só habilito o proxy reverso e atualizo os URLs de retorno de chamada. portal do editor com domínio definido está funcionando
mas quando implantar a API de amostra e clicar em "visualizar em devportal" ou "entrar", o URL da página é localhost:9443
.
@ amir-dh
Você precisa configurar o devportal url em deployment.toml
Para fazer isso, habilite a configuração abaixo em
Você pode habilitar removendo o #.
@isharac
Eu defini estas linhas configuradas:
[apim.devportal]
url = " https: // MyDomain / devportal "
e defina o proxy reverso:
const REVERSE_PROXY = {
habilitado: verdadeiro,
origem: 'MyDomain',
};
mas o URL da página de login e logout é localhost
. na editora e devportal
@ amir-dh
você poderia anexar capturas de tela das páginas acima, incluindo url.
Também o url de retorno de devportal SP (admin_admin_store)?
@isharac
Eu fiz na página de login MyDomain substituída por " localhost: 9443 " e ela está aberta
mas quando eu atualizo o URL de retorno de chamada admin_admin_store
e vou para a página de login, ocorre o erro invalid_callback
Estou tendo o mesmo problema que amir-dh
existe uma maneira de editar manualmente o api-manager.xml para definir a URL correta e evitar ser sobrescrito depois que o servidor for iniciado?
Saudações,
JP
@ amir-dh
Obrigado, pelas imagens.
Parece que você também está usando um deslocamento de porta 2.
Você pode, por favor, compartilhar o
e as configurações de proxy reverso?
Enquanto isso, tentei alterar o nome do host e ser liderado por um Nginx.
As etapas que segui estão documentadas no blog [1].
Informe-nos se isso não funcionar para você.
@JUANPARBELAEZ
Você pode verificar as etapas no mesmo blog [1] e enviar-me algum feedback?
[1] https://ishara-cooray.blogspot.com/2019/11/how-to-change-default-hostname-of-wso2.html
@isharac
Oi,
Eu executo o APIM bruto e defino a configuração a partir daqui passo a passo, mas não funciona.
o erro no editor e na loja da página de login é 500 (esta página não está funcionando), o erro no carbono após inserir o nome de usuário e a senha e clicar no botão de login é 403 (proibido).
Eu li wso2carbon.log, erro de editor e armazenamento é conexão recusada e não há erro para carbono
@ amir-dh
Compartilhe os arquivos abaixo para analisar depois de remover quaisquer dados confidenciais.
@isharac
wso2.zip
Olha Você aqui.
@ amir-dh,
Desculpe por voltar para você tarde.
As configurações fornecidas parecem boas.
No entanto, renovamos a configuração do proxy reverso devido a um problema identificado em [1] na versão mais recente.
Tente novamente na versão mais recente WSO2AM-3.1.0-M2 .
Do APIM-3.1.0-M 2 em diante, para configurar um proxy reverso, você precisará fazer as alterações de configuração abaixo.
Altere o nome do host em deployment.toml
[servidor]hostname = "api.am.wso2.com"
configuração de proxy reverso
servidor {
ouvir 443 ssl;
server_name api.am.wso2.com;
proxy_set_header X-Forwarded-Port 443;
ssl_certificate /usr/local/etc/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;
localização / {
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 https://api.am.wso2.com : 9443;
}
}
Adicionar mapeamento de host em / etc / hosts
127.0.0.1.
Altere os URLs de retorno de chamada fazendo login no console de gerenciamento se não estiver iniciando o servidor pela primeira vez.
https://api.am.wso2.com : 9443 / carbon /
Vá para os provedores de serviço e encontre admin_admin_publisher
URL de retorno de chamada no editor
regexp = (https://api.am.wso2.com:9443/publisher/services/auth/callback/login|https://api.am.wso2.com:9443/publisher/services/auth/callback/logout )
@isharac
Baixei o APIM-3.1.0-M2, alterei hostname
no arquivo deployment.toml e alterei a configuração do nginx para:
servidor {
ouvir 443 ssl;
server_name myDomain ;
proxy_set_header X-Forwarded-Port 443;
ssl_certificate /usr/local/etc/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;
localização / {
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 https: // myDomain : 9443;
}
}
mas não funciona.
quando chamado de publisher
ele é redirecionado para aqui . Como você pode ver, ele me redireciona para MyDomain com a porta. não o URI do proxy reverso, por exemplo, ele me redireciona de https://mydomain.com/publisher
para https://mydomain.com:9445/oauth2/.....
. Se eu remover manualmente a porta seguida por mydomain, ela funcionará corretamente.
Este problema é o mesmo para devportal
quando desejo entrar.
Para Management Console
após o login, ele redireciona da página de login para este url e dá o erro 403 (proibido)
Para sua informação: Eu verifiquei os problemas que você enviou para mim; e em features/apimgt/org.wso2.carbon.apimgt.publisher.feature/src/main/resources/publisher/site/public/theme/defaultTheme.js
este:
reverseProxy: {
auto: true,
forwardedHeader: 'x-forwarded-for',
loopbackHost: 'localhost',
defaultHTTPSPort: 9443,
},
está disponível na edição [1], mas não está disponível em [2]
[1] (https://github.com/wso2/carbon-apimgt/pull/7842/files/88efcf71b4aa4b8bf5511db8fc91655ba7969aa8?utf8=%E2%9C%93&diff=split&w=1)
[2] (https://github.com/wso2/carbon-apimgt/pull/7858/files)
Oi @ amir-dh
Lamento que você precise adicionar a porta proxy também no deployment.toml
Adicione a configuração abaixo no
[transport.https.properties]
proxyPort = 443
@isharac
Eu adicionei a porta proxy no arquivo de implantação
Eu chamei https://mydomain.com/
e redirecionou para o portal do editor
mas quando chamei https://mydomain.com/publisher
ele redireciona para https://**myIP**/publisher
e recebo esta mensagem This site can’t be reached
. em devportal
e carbon
URLs recebo o mesmo erro
@ amir-dh
Por favor, encontre meus comentários.
'' Liguei para https://mydomain.com/ redirecionado para o portal do editor ''
Este é o caso padrão.
Redirecionar para IP parece um pouco estranho.
Você poderia compartilhar o nginx.conf e o arquivo HAR baixado do console do navegador para análise posterior?
Yiou pode consultar abaixo para encontrar o botão de download no cromo.
myconf.zip
olha Você aqui
@ amir-dh
Obrigado por compartilhar as configurações.
No seu nginx.conf, o proxyPass está configurado com o IP.
Você pode alterá-lo para o domínio abaixo e verificar novamente?
proxy_pass https: // myDomain : 9443;
Obrigado.
Olá @ amir-dh,
Não consegui ver nenhum redirecionamento para um endereço IP no HAR fornecido. Parece que a solicitação falhou devido a
invalid_callback
--
Registered callback does not match with the provided url.
Portanto, o problema é provavelmente, o URL de retorno fornecido em admin_apim_publisher
deve ter o seguinte URL no regex
https://mydomain.com/publisher/services/auth/callback/login
@isharac @tmkasun
obrigado por me ajudar.
resolveu meu problema com suas dicas.
Eu definindo a configuração abaixo:
hostname
para mydomain
no arquivo de implantaçãoserver {
listen 443 ssl;
server_name myDomain;
proxy_set_header X-Forwarded-Port 443;
ssl_certificate /usr/local/etc/nginx/ssl/nginx.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;
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 https://myDomain:9443;
}
}
adicione a porta proxy no arquivo de implantação:
[transport.https.properties]
proxyPort = 443
altere devportal
URL e gwdevportal
URL no arquivo de implantação de localhost para mydomain.com e remova a porta
@ amir-dh
Que bom que você conseguiu resolver o problema. :)
@isharac
Eu segui tudo configurado
E eu vi o “TypeError: não é possível ler a propriedade" forwardedHeader "de undefined ....”
Quando tento entrar em $ HOST / devportal / apis
a página será redirecionada para $ HOST / devportal / services / configs
Você tem alguma sugestão ?
Por favor, me dê uma resposta
Env
versão nginx: nginx / 1.10.3
WSO2 APIM 3.1.0 M3
TID: [-1234] [devportal] [03/12/2019 02: 19: 55,194] ERRO {org.jaggeryjs.jaggery.core.manager.WebAppManager} - org.mozilla.javascript.EcmaError: TypeError: Não é possível ler a propriedade " forwardedHeader "de undefined (/devportal/services/login/idp.jag#28) org.jaggeryjs.scriptengine.exceptions.ScriptException: org.mozilla.javascript.EcmaError: TypeError: Não é possível ler a propriedade" forwardedHeader "de undefined (/ devportal / services / login / idp.jag # 28)
em org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript (RhinoEngine.java:587)
em org.jaggeryjs.scriptengine.engine.RhinoEngine.exec (RhinoEngine.java:289)
em org.jaggeryjs.jaggery.core.manager.WebAppManager.exec (WebAppManager.java:589)
em org.jaggeryjs.jaggery.core.manager.WebAppManager.execute (WebAppManager.java:508)
em org.jaggeryjs.jaggery.core.JaggeryServlet.doGet (JaggeryServlet.java:24)
em javax.servlet.http.HttpServlet.service (HttpServlet.java:634)
em javax.servlet.http.HttpServlet.service (HttpServlet.java:741)
em org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231)
em org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
em org.apache.catalina.core.ApplicationDispatcher.invoke (ApplicationDispatcher.java:712)
em org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:459)
em org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:352)
em org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:312)
em org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter (JaggeryFilter.java:76)
em org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
em org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
em org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53)
em org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
em org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
em org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter.doFilter (ContentTypeBasedCachePreventionFilter.java:53)
em org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
em org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
em org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter (HttpHeaderSecurityFilter.java:126)
em org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)
em org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
em org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:202)
em org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96)
em org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:490)
em org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:139)
em org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:92)
em org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke (TenantContextRewriteValve.java:80)
em org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke (AuthorizationValve.java:100)
em org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke (AuthenticationValve.java:74)
em org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation (CompositeValve.java:99)
em org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves (TomcatValveContainer.java:49)
em org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke (CompositeValve.java:62)
em org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke (CarbonStuckThreadDetectionValve.java:146)
em org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:678)
em org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke (CarbonContextCreatorValve.java:57)
em org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke (RequestCorrelationIdValve.java:116)
em org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:74)
em org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:343)
em org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:408)
em org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66)
em org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:853)
em org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1587)
em org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49)
em java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
em java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
em org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61)
em java.lang.Thread.run (Thread.java:748)
Causado por: org.mozilla.javascript.EcmaError: TypeError: não é possível ler a propriedade "forwardedHeader" de undefined (/devportal/services/login/idp.jag#28)
em org.mozilla.javascript.ScriptRuntime.constructError (ScriptRuntime.java:3687)
em org.mozilla.javascript.ScriptRuntime.constructError (ScriptRuntime.java:3665)
em org.mozilla.javascript.ScriptRuntime.typeError (ScriptRuntime.java:3693)
em org.mozilla.javascript.ScriptRuntime.typeError2 (ScriptRuntime.java:3712)
em org.mozilla.javascript.ScriptRuntime.undefReadError (ScriptRuntime.java:3725)
em org.mozilla.javascript.ScriptRuntime.getObjectProp (ScriptRuntime.java:1483)
em org.jaggeryjs.rhino.devportal.services.login.c0._c_script_0 (/devportal/services/login/idp.jag:28)
em org.jaggeryjs.rhino.devportal.services.login.c0.call (/devportal/services/login/idp.jag)
em org.mozilla.javascript.ContextFactory.doTopCall (ContextFactory.java:394)
em org.mozilla.javascript.ScriptRuntime.doTopCall (ScriptRuntime.java:3091)
em org.jaggeryjs.rhino.devportal.services.login.c0.call (/devportal/services/login/idp.jag)
em org.jaggeryjs.rhino.devportal.services.login.c0.exec (/devportal/services/login/idp.jag)
em org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript (RhinoEngine.java:583)
... mais 50
Olá @ loeb-ift
Qual é a versão do APIM que você está usando?
Você pode compartilhar o devportal / site / public / theme / settings.js
Oi @isharac
como segue
root @ wso2am-313 : / tmp / 20191203 # vi /opt/wso2am-3.1.0-m3/repository/deployment/server/jaggeryapps/devportal/site/public/theme/settings.js
Configurações const = {
aplicativo: {
contexto: '/ devportal',
reverseProxy: {
habilitado: verdadeiro,
origem: ' https: // MYHOST ',
},
},
grantTypes: {
autorização_code: 'Código',
implícito: 'Implícito',
refresh_token: 'Atualizar token',
senha: 'Senha',
' iwa: ntlm ': 'IWA-NTLM',
client_credentials: 'Client Credentials',
' urn: ietf : params : oauth: grant- type: saml2-bearer ': 'SAML2',
' urn: ietf : params : oauth: grant- type: jwt-bearer ': 'JWT',
Kerberos: 'Kerberos',
},
};
Muito THX
@ loeb-ift
Você fez alguma alteração neste arquivo?
O aplicativo json deve ser o seguinte.
app: {
context: '/devportal',
customUrl: {
enabled: false,
forwardedHeader: 'X-Forwarded-For',
},
origin: {
host: 'localhost',
},
},
Consulte [1] para o arquivo de configuração padrão.
[1] https://github.com/wso2/carbon-apimgt/blob/v6.5.399/features/apimgt/org.wso2.carbon.apimgt.store.feature/src/main/resources/devportal/site/public /theme/settings.js
ref o documento de [https://ishara-cooray.blogspot.com/2019/11/how-to-change-default-hostname-of-wso2.html]
Tentei adicionar a configuração de proxy reverso e editar o config /devportal/site/public/theme/settings.js
Percebi que perdi o 'forwardedHeader:' X-Forwarded-For ','
mas não viu obras!
agora o setting.js é:
`Const Settings = {
aplicativo: {
contexto: '/ devportal',
reverseProxy: {
habilitado: verdadeiro,
origem: 'https: // $ MYHOST',
forwardedHeader: 'X-Forwarded-For',
},
},
};
grantTypes: {
authorization_code: 'Code',
implicit: 'Implicit',
refresh_token: 'Refresh Token',
password: 'Password',
'iwa:ntlm': 'IWA-NTLM',
client_credentials: 'Client Credentials',
'urn:ietf:params:oauth:grant-type:saml2-bearer': 'SAML2',
'urn:ietf:params:oauth:grant-type:jwt-bearer': 'JWT',
kerberos: 'Kerberos',
},
};
Peça desculpas se o blog for enganoso, mas como observei no blog, ele se aplica apenas ao APIM 3.0.0
Porque temos que mudar a configuração do proxy reverso no APIM 3.1.0-m2 em diante.
Vou atualizar o blog com as configurações mais recentes.
Siga as etapas no comentário [1] para configurar o proxy reverso no APIM 3.1.0-m3
[1] https://github.com/wso2/product-apim/issues/6808#issuecomment -559584220
@isharac
aprecio sua mensagem
Na verdade, o blog ajudou muito
mas eu perdi o ponto importante
Um resumo da instalação
SO: Debian 4.9.189-3 + deb9u2 (11/11/2019) x86_64 GNU / Linux
versão nginx: nginx / 1.10.3 com WSO2 3.1.0 M3
Etapa de instalação.
[ https://github.com/wso2/product-apim/issues/6808#issuecomment -559584220]
Agora está funcionando
Olá,
Tenho o mesmo problema com fronting nginx (WSO2 APIM 3.0)
Quando tento abrir o publisher ou devportal terei o seguinte erro em meu console
-Erro: Erro: Nenhum token parcial encontrado, redirecionando para Visualização Anônima e Usuário não encontrado. A atualização do token falhou.
/ admin e / carbon funcionam bem
versão nginx: nginx / 1.16.1 no servidor fronting
WSO2 - APIM isntaller an other server (CentOS Linux release 7.7.1908)
Instalando WSO2 APIM 3.0 por rpm (aleta no site WSO2)
O fluxo de rede 9443,443 e 8243 está aberto e Nginx fronted e WSO2 APIM 3.0 Server
Você poderia me ajudar, eu não tenho solução :(
Obrigado
Sam
Olá @ SamWso2 ,
Acho que você está se referindo a essas mensagens de log,
Estes são alguns logs de informações impressos para identificar o estado de login. Você também verá esses logs na configuração normal
Você pode explicar mais sobre o seu problema? ou fornecer um arquivo HTTP Archive (HAR) para analisar o problema?
Se você experimentou um cenário de loop de login contínuo, você pode seguir o blog de @isharac para configurar o proxy reverso no APIM 3.0.0
https://ishara-cooray.blogspot.com/2019/11/how-to-change-devportal-to-different.html
Olá tmkasun,
Internamente, posso fazer login em / devportan e / publisher
No externo, utilizo o URL público (configurado no NGINX) e tenho acesso ao Carbon e ao portal de administração
Também tenho acesso no devportal URL, mas não consigo entrar, é um loop ... e não recebo nada
Tenho WSO2 APIM 2.6 com NGINcX no meu ambiente de produção e funciona muito bem.
Obrigado
Eu uso o proxy Squid (e o proxy reverso Nginx na frente) para acessar a internet, mas não implemento esse parâmetro na configuração do WSO2.
Como devo fazer para configurar o proxy para sair da internet no wSO2 APIM 3.0?
Obrigado
Espero que isto ajude.
https://apim.docs.wso2.com/en/latest/install-and-setup/deploying-wso2-api-manager/configuring-the-proxy-server-and-the-load-balancer/#step -2 -configure-the-load-balancerreverse-proxy-server
Eu coloquei
mas tenho erros abaixo
TID: [-1234] [devportal] [2020-03-10 10: 45: 20,910] ERRO {org.jaggeryjs.jaggery.core.manager.WebAppManager} - org.mozilla.javascript.WrappedException: Wrapped org.jaggeryjs.scriptengine .exceptions.ScriptException: java.net.ConnectException: Conexão recusada (Conexão recusada) (<
Eu uso o servidor nginx como revers-proxy no frontend = OK
Mas vou usar o proxy squid para sair na internet
Como devo fazer para configurar o proxy squid para sair da internet na configuração do wSO2 APIM 3.0? (sem proxy Rerverse NGINX, mas proxy squi)
Obrigado
oi @isharac
Estou usando o wso2am 3.1.0, quero rotear o wso2 usando o nginx. Eu configurei o wso2 deployment.toml com hostname e porta pory e configurei o nginx, mas ainda estou enfrentando o problema. Você pode me ajudar neste
Nginx está hospedado em uma VM e wso2 está disponível em outra VM