Я получаю доступ к своему wso2 apim, магазину и издателю, используя Nginx. и хотите получить доступ, используя следующее:
wso2 API-менеджер для доступа с использованием URL-адреса nginx как: https://nginx-ip/wso2am/углерод
хранилище wso2 для доступа с использованием URL-адреса nginx как: https://nginx-ip/wso2am/магазин
хранилище wso2 для доступа с использованием URL-адреса nginx как: https://nginx-ip/wso2am/издатель
Я попытался использовать вложенный блок местоположения внутри блока местоположения, но безуспешно. Итак, теперь я работаю с блоком местоположения для всех по отдельности, но это тоже не работает.
Вот мой файл конфигурации nginx для магазина:
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;
}
Для приведенной выше конфигурации графический интерфейс для магазина не отображается должным образом.
Аналогично для издателя и углерода (для консоли управления 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:
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, я вхожу в систему, а затем, если я нажимаю любую из опций на домашней странице, например список, добавить. Я выхожу из системы и причина этого после расследования. был токен CSRF, который не отправляется в запросе при доступе к нему с помощью Nginx.
Как можно решить проблему csrfprevention.js, сохранив ее истинной?

Вы можете следовать этому руководству [1], чтобы настроить WSO2 API Manager с Nginx.
[1] - https://docs.wso2.com/display/AM260/Configuring+the+Proxy+Server+and+the+Load+Balancer
Я следовал тому же руководству, но после этого мое базовое приложение wso2-apim перенаправляется на IP-адрес обратного прокси-сервера. Таким образом, я не могу получить доступ к базовому IP-адресу, как раньше.
Вы установили имя хоста в carbon.xml? docs.wso2.com/display/AM260/Changing+the+Hostname
имя хоста должно быть машиной, на которой работает wso2-apim?
Pubci, после выполнения шагов, указанных в URL-адресе, не работает. Я обновил обновление в сообщении.
Привет @Pubci Я все еще не могу настроить консоль управления выбросами углерода с помощью nginx, в то время как магазин и издатель хорошо работают с nginx. Можете ли вы предложить мне некоторые настройки?
Отказ от ответственности: это неполный ответ, ибо сам копаюсь в этом вопросе
Я столкнулся с той же проблемой как с wso2am, так и с wso2ei. Я почти уверен, что нам нужно отредактировать /repository/conf/carbon.xml в этом разделе (должен признаться, что комментарии не кристально ясны):
<!--
Webapp context root of WSO2 Carbon management console.
-->
<WebContextRoot>/wso2am</WebContextRoot>
<!--
Proxy context path is a useful parameter to add a proxy path when a Carbon server is fronted by reverse proxy. In addition
to the proxy host and proxy port this parameter allows you add a path component to external URLs. e.g.
URL of the Carbon server -> https://10.100.1.1:9443/carbon
URL of the reverse proxy -> https://prod.abc.com/appserver/carbon
appserver - proxy context path. This specially required whenever you are generating URLs to displace in
Carbon UI components.
-->
<MgtProxyContextPath>/</MgtProxyContextPath>
<ProxyContextPath>/wso2am</ProxyContextPath>
Следующее работает, если ваш Nginx прослушивает 443 в режиме SSL (не может сделать это с HTTP из-за перенаправлений -> создайте самозаверяющий сертификат, если вы планируете использовать его в локальной сети)
location /wso2am {
proxy_pass https://wso2_apimanager_container:9443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_ssl_verify off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /wso2am/store {
proxy_pass https://wso2_apimanager:9443/store;
}
location /wso2am/publisher {
proxy_pass https://wso2_apimanager:9443/publisher;
}
location /wso2am/admin {
proxy_pass https://wso2_apimanager:9443/admin;
}
}
Это работает, но я не совсем уверен, почему. Кто-нибудь может мне объяснить, в чем отличие <MgtProxyContextPath> от </MgtProxyContextPath> и от <WebContextRoot>?
разрешить прокси для администратора издателя и магазина: чтобы сделать /publisher, /store и /admin доступными, вам нужно отредактировать конец их соответствующего site.json, расположенного в /repository/deployment/server/jaggeryapps/name_of_the_service/site/conf/site.json. Для /publisher вы должны написать:
"reverseProxy" : {
"enabled" : "auto", // values true , false , "auto" - will look for X-Forwarded-* headers
"host" : "some.ip.or.domain", // If reverse proxy do not have a domain name use IP
"context":"/wso2am/publisher",
//"regContext":"" // Use only if different path is used for registry
},
Все еще есть проблема со входом в систему, хотя
попробуйте отредактировать
<ProxyContextPath>/wso2am</ProxyContextPath>в/repository/conf/carbon.xml