Я могу получить доступ к машине mysql удаленно, но когда я пытаюсь получить доступ через веб-сервер Django, он просто зависает и выдает ошибку 524

У меня есть приложение django, развернутое на машине EC2 с базой данных на другой машине EC2. Недавно мне пришлось сменить IP-адрес на машине mysql, и это вызвало у меня множество проблем. Я изменил конфигурационные файлы, чтобы они соответствовали новому IP, но теперь я не могу заставить какие-либо запросы к базе данных работать на производстве. Я пытался получить удаленный доступ к mysql с производственного веб-сервера, используя

mysql -u prod_user -h 11.11.111.111 -p

, который работает без проблем. Мой webapp все еще работает, и с ним нет никаких проблем, пока я не пытаюсь войти в систему или использовать какие-либо запросы к базе данных. Правила брандмауэра на машине с базой данных были обновлены, чтобы разрешить доступ к prod-серверу, поэтому я не думаю, что это как-то связано с этим. Я проверил журналы mysql и единственное сообщение, которое я получаю, это /usr/sbin/mysqld: ready for connections. Version: '8.0.30-0ubuntu0.20.04.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)

Я проверил журналы apache и получил эту ошибку -

[ssl:info] [pid 133609:tid 140579564345088] (70014)End of file found: [client 333.333.33.33:33333] AH01991: SSL input filter read failed.

Я не знаю IP-адрес клиента, на который ссылаются, но я думаю, что это может быть прокси-сервер, используемый Cloudflare, который управляет моими SSL-сертификатами. Я исследовал и прочитал, что в аналогичном вопросе здесь https://serverfault.com/questions/565703/apache-producing-lots-of-ssl-only-errors-even-though-the-data-in-browser-seems-f говорится, что вам нужно указать ip в конфигурации удаленного хоста

вот мой конфиг apache -

<VirtualHost *:80>
                RewriteEngine On
                RewriteCond %{HTTPS} !=on
                RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
        </virtualhost>
        
        <VirtualHost *:443>
                ServerName www.mysite.com
                ServerAlias mysite.com
        
                Alias /media/ /var/www/mysite.com/site/public/media/
                Alias /static/ /var/www/mysite.com/site/public/static/
                WSGIScriptAlias / /var/www/mysite.com/src/sett/wsgi.py
                WSGIDaemonProcess grypar.com python-home=/var/www/mysite.com/my_env python-path=/var/www/mysite.com/src/sett/
                WSGIProcessGroup mysite.com
    ...
            LogLevel info
            ErrorLog /var/www/mysite.com/site/logs/error.log
            CustomLog /var/www/mysite.com/site/logs/access.log combined
            SSLEngine on
            SSLCertificateFile /path/to/certificate/cert.crt
            SSLCertificateKeyFile /path/to/certificate/key.key
    </VirtualHost>

когда я изменил строку <virtualHost..>, чтобы включить мой конкретный IP веб-сервера, появилась ошибка 525, что SSL handshake failed и это может быть связано с CloudFlare. Я настроил cloudflare для управления моими SSL-сертификатами совсем недавно и думаю, что проблема может быть в этом.

Мой вопрос в том, должен ли я иметь SSH туннель, установленный с моего сервера базы данных на веб-сервер, или как я должен его установить?

Не достаточно ли установить HTTP и или это что-то, что вызовет проблемы, так как это прокси-сервер?

Спасибо!

Вернуться на верх