404 Ошибка при использовании https с PHP-скриптом - PullRequest
0 голосов
/ 26 октября 2011

Я разрабатываю скрипт php, который работает нормально, если я получаю к нему доступ по http.Но пока я пытаюсь получить к нему доступ через префикс https, сервер возвращает 404 Error.Что я тут не так делаю?

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Пожалуйста, проверьте и дважды проверьте конфигурацию вашего сервера - особенно DocumentRoots.

Можно использовать SSL для NameBasedVirtualHosting с использованием SNI (индикация имени сервера - относительно новое расширение TLS).

SNI поддерживается большинством основных серверов и почти всеми клиентами.

Apache2 поддерживает его, начиная с версии 2.2.12, Apache с патчем для бэкпорта, nginx, lighthttpd и cherokee поддерживают его с нуля.*

См. http://de.wikipedia.org/wiki/Server_Name_Indication для получения дополнительной информации

1 голос
/ 26 октября 2011

В зависимости от веб-сервера директива error_log (nginx / apache / apache2) и место, в котором регистрируются ошибки, помогут вам понять, где происходит проблема.404 указывает, что файл не существует или неправильно установлены разрешения для его обслуживания веб-сервером.Поскольку это происходит только с HTTPS, скорее всего, как предложено hakre , ваш сервер HTTPS может не использовать тот же корень документа, что и HTTP.

Публикация информации о типе веб-сервера, которая, если что-нибудь отобразится в журналах ошибок, поможет всем на stackoverflow.com лучше понять вашупроблема, и предложить соответствующий ответ.

Виртуальный хостинг на основе имени не будет работать должным образом с HTTPS.У вас может быть 1 виртуальный хост на 1 IP-адрес с HTTPS: http://wiki.apache.org/httpd/NameBasedSSLVHosts

Как правило, невозможно разместить более одного виртуального хоста SSL на одном IP-адресе и порте.Это связано с тем, что Apache необходимо знать имя хоста, чтобы выбрать правильный сертификат для настройки уровня шифрования.Но имя запрашиваемого хоста содержится только в заголовках HTTP-запроса, которые являются частью зашифрованного содержимого.Поэтому он недоступен до тех пор, пока шифрование уже не согласовано.Это означает, что правильный сертификат не может быть выбран, и клиенты будут получать предупреждения о несоответствии сертификатов и будут уязвимы для атак типа «злоумышленник в середине».

В действительности Apache позволит вам настроить виртуальный SSL на основе именихосты, но он всегда будет использовать конфигурацию первого виртуального хоста в списке (для выбранного IP-адреса и порта) для настройки уровня шифрования.В определенных конкретных случаях допустимо использовать одну конфигурацию SSL для нескольких виртуальных хостов.В частности, это будет работать, если сертификат SSL применяется ко всем виртуальным хостам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...