Как получить доступ к компоненту администрирования в распространении API Платформ 2.4.2? - PullRequest
0 голосов
/ 13 апреля 2019

Я попытался настроить API Platform на своем локальном компьютере, чтобы изучить его. Я попытался выполнить все операции в соответствии со страницей «Начало работы» платформы API. Поэтому я скачал последний официальный дистрибутив v2.4.2 (https://github.com/api-platform/api-platform/releases/tag/v2.4.2)) и запустил его с помощью Docker.

Однако я не могу получить доступ к административному серверу на http://localhost:81, получающем «Невозможно получить документацию API».

Я искал справку по https://api -platform.com / docs / admin / Getting-Start / , но он описывает шаги, которые, похоже, уже были выполнены в дистрибутиве

Как включить компонент администратора или отладить то, что пошло не так?

Редактировать (2019-04-14)

$ docker container ls
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                           NAMES
40a5d5213cfe        quay.io/api-platform/nginx    "nginx -g 'daemon of…"   45 hours ago        Up 6 minutes        0.0.0.0:8080->80/tcp            apiplatformdemo_api_1
d53711c0ba0c        quay.io/api-platform/php      "docker-entrypoint p…"   45 hours ago        Up 6 minutes        9000/tcp                        apiplatformdemo_php_1
2d4eb8d09e3e        quay.io/api-platform/client   "/bin/sh -c 'yarn st…"   45 hours ago        Up 6 minutes        0.0.0.0:80->3000/tcp            apiplatformdemo_client_1
abe3e3b41810        quay.io/api-platform/admin    "/bin/sh -c 'yarn st…"   45 hours ago        Up 6 minutes        0.0.0.0:81->3000/tcp            apiplatformdemo_admin_1
4596a7f81cd8        postgres:10-alpine            "docker-entrypoint.s…"   45 hours ago        Up 6 minutes        0.0.0.0:5432->5432/tcp          apiplatformdemo_db_1
c805fc2f11c9        dunglas/mercure               "./mercure"              45 hours ago        Up 6 minutes        443/tcp, 0.0.0.0:1337->80/tcp   apiplatformdemo_mercure_1

Редактировать 2 (2019-04-14)

Стоит отметить, что хотя компонент API на http://localhost:8080 работает, вариант HTTPS на https://localhost:8443 - нет. (Соединение будет отклонено, если я попытаюсь telnet.)

Теперь выяснилось, что раньше я не замечал, что в консоли JS есть сообщение о сбое соединения с https://localhost:8443. (Это говорит о CORS, но я думаю, что настоящая причина в том, что 8443 просто отказывается от соединения). Поэтому, хотя я ввел HTTP-вариант Admin в http://localhost:81, он пытался получить доступ к API через HTTPS. В чем может быть причина того, что HTTPS не работает?

Редактировать 3 (2019-04-15)

После просмотра логов docker compose, я вижу, что уместен сбой контейнера Varnish. h2-proxy зависит от него, и h2-proxy управляет портом 8443.

cache-proxy_1  | Error:
cache-proxy_1  | Message from VCC-compiler:
cache-proxy_1  | Expected return action name.
cache-proxy_1  | ('/usr/local/etc/varnish/default.vcl' Line 67 Pos 13)
cache-proxy_1  |     return (miss);
cache-proxy_1  | ------------####--
cache-proxy_1  | 
cache-proxy_1  | Running VCC-compiler failed, exited with 2
cache-proxy_1  | VCL compilation failed
apiplatform242_cache-proxy_1 exited with code 2
h2-proxy_1     | 2019/04/15 08:09:17 [emerg] 1#1: host not found in upstream "cache-proxy" in /etc/nginx/conf.d/default.conf:58
h2-proxy_1     | nginx: [emerg] host not found in upstream "cache-proxy" in /etc/nginx/conf.d/default.conf:58
apiplatform242_h2-proxy_1 exited with code 1

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Я решил эту ошибку, получив API-платформу путем клонирования текущего мастера и не загружая версию tar.tgz (2.4.2)

git clone https://github.com/api-platform/api-platform.git
docker-compose build
docker-compose up -d

Работает как шарм!

0 голосов
/ 17 апреля 2019

Можете ли вы сказать, в какой подпрограмме vcl это "return (miss)"?

...