Я могу получить доступ к машине 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 и или это что-то, что вызовет проблемы, так как это прокси-сервер?
Спасибо!