Балансировщик нагрузки приложения AWS Cname Соединение отклонено - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть Cname, указывающее на ALB.Когда я нажимаю ALB DNS напрямую, я получаю соединение, но оно жалуется на сертификат SSL, как показано здесь -

curl https://tek-q-appli.eu-west-1.elb.amazonaws.com/hello
curl: (51) SSL: no alternative certificate subject name matches target host name 'tek-q-appli.eu-west-1.elb.amazonaws.com'

Так что, если эта ошибка SSL игнорируется, все хорошо, как показано здесь -

curl -k https://tek-q-appli.eu-west-1.elb.amazonaws.com/hello
<!DOCTYPE html>
<html>
<body>

<h1>World</h1>

</body>
</html>

Когда я нажимаю Cname, указывающий на ALB, генерируется отказанное соединение.Я проверил ACL и SG на ALB и EC2, где размещен Docker, на котором работает Apache, как показано здесь -

curl https://example.com/hello
curl: (7) Failed to connect to example.com port 443: Connection refused

Будем весьма благодарны за любые подсказки или указатели.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Спасибо за внимание, Майкл.

Я думаю, что проблема была связана с httpd-vhosts.conf, поскольку я следовал этой статье

Стоит прочитать

Сквозное сквозное шифрование за ALS AWS и ключевые моменты, которые я получил, -

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
  </IfModule>

И

  <IfModule mod_headers.c>
    # Disable preloading HSTS for now.  You can use the commented out header line that includes
    # the "preload" directive if you understand the implications.
    #Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
    Header always set X-Frame-Options DENY
    Header always set X-Content-Type-Options nosniff
  </IfModule>

И плюс -У меня была локальная запись DNS для тестирования в файле / etc / hosts.Чтобы протестировать работающий домен с помощью Curl, мне также пришлось удалить файл локальных хостов.

Все хорошо!

0 голосов
/ 18 февраля 2019

Первая ошибка нормальная и ожидаемая - балансировщики не предлагают сертификат SSL для назначенного им AWS имени хоста.

Вторая подсказывает, что ваш DNS неверен или что сделанное вами обновление еще не видимо во всем мире.Curl должен показывать вам IP-адрес, который он использует для example.com, и он должен совпадать с одним из адресов балансировщика при каждом подключении.

Используйте dig, чтобы найти IP-адреса назначенного имени хоста балансировщика и тех, которые являютсявозвращается для вашего пользовательского домена.Если / пока они не совпадают, это указывает на проблему DNS.

...