База знаний VMmanager

Как изменить порты веб-интерфейса платформы?

Статья содержит инструкции по изменению стандартных портов для доступа к платформе по HTTP (80/TCP) и HTTPS (443/TCP).

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Проверьте текущие настройки портов в файле /opt/ispsystem/vm/docker-compose.yaml параметры published для контейнера input:
    cat /opt/ispsystem/vm/docker-compose.yaml
    Пример вывода
      input:
        container_name: input
        image: docker-registry.ispsystem.com/team/vm/input/alma:2.0.9
        ...
        ports:
        - published: 80
          target: 80
        - published: 443
          target: 443
        ...
  3. Измените значения портов: 
    sed -i 's%- published: \"old_port\"%- published: \"new_port\"%g' /opt/ispsystem/vm/docker-compose.yaml
    Пояснения к команде
    Пример для смены порта с 80/TCP на 8080/TCP
    sed -i 's%- published: \"80\"%- published: \"8080\"%g' /opt/ispsystem/vm/docker-compose.yaml
  4. Проверьте, что значения портов изменены: 
    cat /opt/ispsystem/vm/docker-compose.yaml
    После изменения настройки должны иметь вид: 
      input:
        container_name: input
        image: docker-registry.ispsystem.com/team/vm/input/alma:2.0.9
        ...
        ports:
        - published: <новый HTTP port>
          target: 80
        - published: <новый HTTPS port>
          target: 443
        ...
  5. Пересоздайте контейнер input: 
    docker stop vm_input_1
    docker rm -f vm_input_1
    vm start
  6. Если вы изменили только настройки порта HTTP, отключите автоматический редирект с HTTP на HTTPS в настройках веб-сервера:
    Эти изменения будут сброшены при следующем перезапуске контейнера input. Например, при обновлении или перезагрузке платформы.
    1. Зайдите в контейнер input: 
      docker exec -it input bash
    2. Измените конфигурацию веб-сервера: 
      sed 's%return 301 https://$host$request_uri;%return 301 https://$host:4433$request_uri;%g' /etc/nginx/templates/secure.conf.ctmpl
    3. Остановите веб-сервер:
      /etc/init.d/nginx stop
    4. Создайте резервную копию конфигурационного файла secure.conf:
      mv /etc/nginx/conf.d/secure.conf /etc/nginx/conf.d/secure.conf.bak
    5. Запустите веб-сервер:
      /etc/init.d/nginx start
    6. Выйдите из контейнера: 
      exit
  7. Проверьте, открывается ли веб-интерфейс платформы по новым портам.