LINUX.ORG.RU

как закрыть доступ к поддоменам https

 , ,


0

1

Уважаемое сообщество ЛОРа, помогите плз решить задачку. Сервер CentOS 6.6 / Apache 2.2

Основные части конфигов выглядят так:

conf/httpd.conf

  NameVirtualHost *:80
  Listen 80

conf.d/ssl.conf

  NameVirtualHost *:443
  Listen 443

Сразу же делаем редирект с http на https (только для главного сайта, все поддомены висят на своем родном http, где у каждого из них есть свой virtualhost)

conf.d/mysite.com.conf

<VirtualHost *:80>
    ServerAdmin support@mysite.com
    DocumentRoot "/mnt/www/mysite.com/"
    ServerName mysite.com
    ServerAlias www.mysite.com
        Redirect 301 / https://mysite.com/
</VirtualHost>

Раздел для https(других виртуалхостов *:443 нету, у нас куча всего другого с разными поддоменами на *:80, на 443 только главный сайт):

<VirtualHost *:443>
    ServerAdmin support@mysite.com
    DocumentRoot "/var/www/production/www"
    ServerName mysite.com:443
    ServerAlias www.mysite.com:443
    ScriptAlias /php.fcgi "/var/www/production/cgi-bin/php.fcgi"
    ErrorLog "/var/log/httpd/mysite.com-error_ssl_log"
    TransferLog "/var/log/httpd/mysite.com-access_ssl_log"

        SSLEngine On
        SSLCertificateFile /etc/httpd/ssl/mysite.com.crt
        SSLCertificateKeyFile /etc/httpd/ssl/mysite.com.key
        SSLCertificateChainFile /etc/httpd/ssl/ca_bundle.crt
        SSLHonorCipherOrder On

        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
        SSLProtocol All -SSLv2 -SSLv3

        <Directory "/var/www/production/www">
                Options FollowSymLinks -Indexes -MultiViews
                AllowOverride all
                Order allow,deny
                Allow from all
        </Directory>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps

        SetEnvIf User-Agent ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0
</VirtualHost>

Проблема возникла в том, что при переходе по https на поддомены(любые, которые есть в DNS) открывается главный сайт mysite.com. (В случае http если не создан virtualhost отдается ошибка)

Хотелось бы (в идеале) чтобы был редирект на этот же поддомен только http, ну или хотябы ошибка/пустая_страница, а не главный сайт.

PS. Проблема стала актуальной из-за того что Google откуда-то узнал о существовании наших поддоменов и упорно ломится их индексировать, и если по http мы реджектим в robots.txt то с https как оказалось не все так просто... :(

Ну попробуйте создать ″<VirtualHost *:443>″ для каждого из этих поддоменов, а там уже что хотите и делайте, либо редирект на http, либо ошибку.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.