Apache возвращает 408 при добавлении www

У меня есть сервер под управлением Debian 8.11 и Apache 2.4.10, настроенный для обслуживания двух веб-сайтов. Один из них — веб-сайт, созданный с помощью WordPress (example.com), другой — форум, созданный с помощью NodeBB (forum.example.com, с которым вообще нет проблем).

Веб-сайт должен быть доступен как example.com, как или даже ввести IP-адрес. Все http-запросы должны перенаправляться на https. Первый и последний случаи работают, но когда я ввожу www.example.comwww.example.com (с www, не имеет значения, http или https), я получаю следующую ошибку в браузере:

      Error 543
The origin web server is not available

Если я открою журналы Apache, я найду это в access.log:

      "-" 408 137 "-" "-"

Это файл myvhost для HTTP:

      <VirtualHost *:80>
    DocumentRoot /var/www/wordpress
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/wordpress>
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName forum.example.com
    
    Redirect / https://forum.example.com/
</VirtualHost>

Это для HTTPS:

      <IfModule mod_ssl.c>

    <VirtualHost *:443>
        ServerAdmin admin@dymstudios.com
        
        DocumentRoot /var/www/wordpress
        Redirect permanent /phpmyadmin https://example.com/phpmyadmin
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
        <Directory /var/www/wordpress>  
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
        
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on

        SSLCertificateFile  /etc/ssl/certs/www_example_com.crt
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-comodo.key
        SSLCertificateChainFile /etc/ssl/certs/COMODORSACertificateBundle.crt

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>

        #   SSL Protocol Adjustments:   
        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown 
        
        SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLHonorCipherOrder on
        SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"    
    </VirtualHost>
    
    <VirtualHost *:443>
        ServerName forum.example.com
        ServerAdmin admin@dymstudios.com
        
        SSLEngine on
        
        SSLCertificateFile  /etc/ssl/certs/forum_example_com.crt
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-forum-comodo.key

        SSLCertificateChainFile /etc/ssl/certs/COMODORSAForumCertificateBundle.crt

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>

        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        
        ProxyRequests off

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        RequestHeader set X-Forwarded-Proto "https"

        RewriteEngine On

        RewriteCond %{REQUEST_URI}  ^/socket.io            [NC]
        RewriteCond %{QUERY_STRING} transport=websocket    [NC]
        RewriteRule /(.*)           ws://127.0.0.1:4567/$1 [P,L]

        ProxyPass / http://127.0.0.1:4567/
        ProxyPassReverse / http://127.0.0.1:4567/
        
        ErrorDocument 503 http://status.example.com

    </VirtualHost>
    
</IfModule>

... и вот htaccess, который я использую на веб-сайте WordPress:

      <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://example.com/$1 [R,L]
</IfModule>

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Все ресурсы, которые я нашел по ошибкам 403, охватывают разные сценарии, поэтому я здесь действительно заблудился. Спасибо вам всем!

0 ответов

Другие вопросы по тегам