Как настроить брандмауэр для тестирования веб-приложений на виртуальной машине? [закрыто]

Вместо:

cp app/index.html.mob MobileApp/www/index.html
sed -i'' "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" MobileApp/www/index.html

Просто сделайте:

sed "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" \
  < app/index.html.mob >  MobileApp/www/index.html

Вы также можете удалить зависимость от ksh93/bash, изменив верхнюю часть на:

environment=$1

case $environment in
  "") environment=beta;;
  live|beta) ;;
  *)
    printf >&2 'Invalid environment: "%s"\n' "$environment"
    exit 1;;
esac

См. также environment=${1:-beta}.

BTW, [[ $environment =~ (live|beta) ]] в ksh93 и bash проверяет, содержит ли $environment live или beta, что не похоже на то, что вы хотите. Вам нужно [[ $environment =~ ^(live|beta)$ ]] для проверки того, является ли оно live или beta.

1
03.08.2018, 16:44
1 ответ

Мне кажется, что ваш подход к этому немного противоречит интуиции. Обычно вы настраиваете брандмауэр на реальном сервере, на котором находится веб-приложение.

Если вы используете firewalld, это довольно тривиально. Вы можете увидеть имена всех служб, с которыми он может работать, по имени, используя эту команду:

$ firewall-cmd --get-services
веб-имена
$ firewall-cmd --get-services | grep -oE '\shttp[s]*'
 http
 https

Чтобы разрешить эти два протокола в виртуальной машине:

$ firewall-cmd --permanent --add-service http --add-service https
success

$ firewall-cmd --reload
success

Теперь ваш брандмауэр настроен следующим образом:

$ firewall-cmd --list-all
public (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources:
  services: ssh dhcpv6-client http https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Выше указано, что 4 службы разрешены, все остальные будут удалены (DROP )на основе цели по умолчанию.

Ссылки

1
27.01.2020, 23:43

Теги

Похожие вопросы