Создайте контейнер docker, используя мое приложение angular - PullRequest
1 голос
/ 02 февраля 2020

Нужна помощь в создании контейнера docker в моем приложении angular.

Nginx конфигурация: app.conf

root /usr/share/nginx/html;
index  index.html index.htm;

server {
  listen 80;
  rewrite /faculty /;
  location / {
    gzip_static on;
    proxy_cookie_path / "/; HTTPOnly; Secure";
  }
  location = /pipes/parsedate.pipe.js {
    try_files $uri /pipes/parseDate.pipe.js;
  }
  location = /services/Auth.js {
    try_files $uri /services/auth.js;
  }
  if ( $http_x_forwarded_proto != "https" ) {
    return 301 https://$host$request_uri; 
  }
  error_page 404 =200 /index.html;
}

Docker conf

FROM nginx
RUN rm /etc/nginx/conf.d/default.conf
RUN rm -rf /usr/share/nginx/html/*
COPY nginx_conf /etc/nginx/conf.d
COPY dist/a8 /usr/share/nginx/html
VOLUME /var/log/nginx

Команды, используемые для запуска контейнера

docker build -t a82 -f docker_conf/Dockerfile .
docker run -d -p 80:80 a82

Но я ничего не вижу при запуске http://localhost.

Пожалуйста, помогите, не уверен, в чем проблема

1 Ответ

1 голос
/ 02 февраля 2020

Исходя из вашего вопроса, ваша структура каталогов должна выглядеть следующим образом:

  • dist
    • a8
      • index. html (и другое содержимое)
  • docker_conf
    • Dockerfile
  • nginx_conf
    • default.conf

Проблема в том, что вы перенаправили использовать HTTPS. Закомментируйте эти строки в файле default.conf следующим образом:

#if ( $http_x_forwarded_proto != "https" ) {
#  return 301 https://$host$request_uri; 
#}

Затем вы можете достичь index.html с помощью http://localhost. Я столкнулся с тем, что Chrome перенаправил http://localhost на https://localhost .. Но http://localhost/index.html работает. В Edge он работает, как и ожидалось, просто используя http://localhost.

. Во всех случаях вы можете проверить правильную конфигурацию с помощью curl http://localhost.

Если вы хотите использовать шифрование TLS, вы должны предоставить сертификат на сервер. Для этого см. http://nginx.org/en/docs/http/configuring_https_servers.html. Тогда вам придется открыть также порт 443 [...] -p 80:80 -p 443:443 [...].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...