Виртуальный хост Apache для основного домена возвращает 400 неверных запросов - PullRequest
0 голосов
/ 13 декабря 2018

Мой веб-сервер содержит основной домен и поддомен с Apache2, причем основным является просто страница-заполнитель HTML, а поддоменом является приложение python / django.

Я столкнулся с интересной проблемой, которая возниклаЧерез некоторое время после добавления записи A в мои настройки DNS (в GoDaddy), чтобы включить поддомен и связанный с ним Apache VirtualHost.

Проблема заключается в том, что переход на мой поддомен www.testing.mysite.com работает, но основной домен,www.mysite.com, приводит к ошибке 400 Bad Request.Первоначально работали и основной, и поддомен.

SSL был включен как для основного, так и для поддоменов VirtualHosts с Let's Encrypt с перенаправлением с http на https, и работал нормально для обоих, пока проблема не возникла внезапно.

Записи GoDaddy выглядят следующим образом

Type    Name       Value            TTL
a       @          xx.xx.xxx.xxx    600 seconds
a       admin      xx.xx.xxx.xxx    1 Hour
a       staging    xx.xx.xxx.xxx    1 Hour
a       testing    xx.xx.xxx.xxx    1 Hour
cname   www        @                1 Hour

Конфигурация Apache для основного домена выглядит следующим образом:

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias www.mysite.com
    ServerAdmin admin@mysite.com
    DocumentRoot /var/www/mysite/public_html
    #LogLevel info ssl:warn
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    #Include conf-available/serve-cgi-bin.conf
RewriteEngine on
RewriteCond %{SERVER_NAME} =mysite.com [OR]
RewriteCond %{SERVER_NAME} =www.mysite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerName mysite.com
    ServerAlias www.mysite.com
    ServerAdmin admin@mysite.com
    DocumentRoot /var/www/mysite/public_html
    #LogLevel info ssl:warn
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    #Include conf-available/serve-cgi-bin.conf
SSLCertificateFile /etc/letsencrypt/live/mysite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Конфигурация Apache для субдомена выглядит следующим образом:

WSGIDaemonProcess mysite_demo python-path=/var/www/mysite-testing
WSGIProcessGroup mysite_demo
WSGIScriptAlias / /var/www/mysite-testing/mysite_demo/wsgi.py

<VirtualHost *:80>
    ServerAdmin admin@mysite.com
    DocumentRoot /var/www/mysite-testing
    ServerAlias www.testing.mysite.com
    ServerName testing.mysite.com

    Alias /static /var/www/mysite-testing/static
    <Directory /var/www/mysite-testing/static>
            Require all granted
    </Directory>

    <Directory /var/www/mysite-testing/mysite_demo>
            <Files wsgi.py>
                    Require all granted
            </Files>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =testing.mysite.com [OR]
RewriteCond %{SERVER_NAME} =www.testing.mysite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin admin@mysite.com
    DocumentRoot /var/www/mysite-testing
    ServerAlias www.testing.mysite.com
    ServerName testing.mysite.com

    Alias /static /var/www/mysite-testing/static
    <Directory /var/www/mysite-testing/static>
            Require all granted
    </Directory>

    <Directory /var/www/mysite-testing/mysite_demo>
            <Files wsgi.py>
                    Require all granted
            </Files>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/testing.mysite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/testing.mysite.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

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

...