Для справки, этот вопрос связан со следующими; но они не дают ответа:
Хранение закрытого ключа RSA в незашифрованном виде Пароль SSL при перезапуске apache2
У меня есть сервер Apache 2.2 под управлением Windows 2003 Server. Мои файлы закрытых ключей хранятся в незашифрованном виде в той же папке, что и файлы конфигурации Apache (следуя рекомендациям Apache здесь: http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#removepassphrase).
Все веб-сайты, размещенные на сервере, используют один и тот же экземпляр Apache. Apache работает под выделенной учетной записью пользователя, которая имеет доступ для чтения к веб-папкам и папкам config / private key.
В принципе, теперь любой клиент должен иметь возможность написать сценарий PHP для их чтения, верно? Так что, похоже, это не идеальная ситуация. В руководстве по Apache сказано, что ключевые файлы должны быть доступны для чтения только root. Я не могу этого сделать, так как Apache не сможет их прочитать ..
Есть ли правильный способ сделать эти ключевые файлы доступными для чтения Apache, не подвергая их никакому сценарию, запущенному в Apache?
Я считаю, что данный ответ не относится к окнам.
Моя папка sslcertificates / принадлежит «системе». Если у Apache нет доступа для чтения к этой папке, он не запустится. Я использовал монитор процессов sysinternals, чтобы выяснить, что идет не так, и он ясно показывает, что httpd.exe хочет прочитать ключевые файлы (что имеет смысл).
Apache таким образом делает нужен доступ для чтения к этим файлам!
Так что вопрос остается без ответа.
apache запускается как root, затем порождает свой процесс как пользователь apache, поэтому он все еще может читать ключевые файлы, если они принадлежат как root, в этот момент в процессе запуска apache не будет обслуживать файлы, поэтому любой сценарий, который может написать пользователь, не будет выполнен пока apache не передаст свои привилегии пользователю apache на этом этапе, скрипт не сможет читать файлы
2 простых решения вашей проблемы