Здравствуй. Я изо всех сил пытался выяснить, почему мой экземпляр EC2 Amazon Linux (1) не обслуживает мой сайт в https://
адрес, хотя я подтвердил, что SSL настроен, на https://www.ssllabs.com/ssltest/. Я поискал в Интернете ответы, но все еще не могу ответить. Я получил следующую информацию из заголовка из двух запросов сайта; один с и один без https://
. www.example.net
и не-www
работать, но только без https://
. Но многое из этого мне чуждо.
GET / HTTP/1.1
Host: example.net
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 5949
Content-Type: text/html; charset=utf-8
Date: Fri, 18 Oct 2019 19:18:46 GMT
Keep-Alive: timeout=5, max=99
Server: Apache/2.4.39 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
Vary: X-Requested-With,Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: Nette Framework
GET / HTTP/1.1
Host: example.net:443
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
HTTP/1.1 301 Moved Permanently
Content-Length: 98
Content-Type: text/html; charset=utf-8
Date: Fri, 18 Oct 2019 19:09:13 GMT
Location: http://example.net/
Server: Apache/2.4.39 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
Vary: X-Requested-With
X-Frame-Options: SAMEORIGIN
X-Powered-By: Nette Framework
Может ли кто-нибудь подтвердить из этого, что может быть не так? Все мои файлы конфигурации, похоже, указывают на мои файлы сертификатов (сгенерированные с помощью Lets Encrypt после чтения этой статьи: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html). Я также не думаю, что видел что-то, что мешало этому в .htaccess
, и когда я установил перенаправление на HTTPS
, да, но страница, на которую он ведет, пуста.
Что может быть не так? Есть ли еще что-нибудь, что мне нужно обновить? Заранее спасибо.
Изменить: я также обнаружил, что в Nette (2.3) мне нужно добавить isSecured
на мой RouterFactory.php. Я сделал это, используя это (переведено): https://forum.nette.org/cs/26975-routerfactory-https-static-a-pouziti-this-fatal-error-using-this-when-not-in-object-context.
Когда я добавляю вышеупомянутое или добавляю правило перезаписи в свой .htaccess (одно или другое), я получаю внутреннюю ошибку 500 и ошибку перенаправления.
В настройках брандмауэра Amazon добавьте «443» в разрешающее правило «http / 80». Возможно даже отключить / удалить разрешающее правило HTTPS 443. Помните, что это находится в настройках Amazon, а не на вашей виртуальной машине.
Как заявляет большинство других людей, пытающихся помочь, я просто ищу неисправности в темноте.
Как упоминалось другими в комментариях, вы на самом деле не дали достаточно информации, чтобы кто-то мог сказать наверняка, но я предполагаю, что вам нужно где-то добавить следующее в свое приложение Nette:
Route::$defaultFlags = Route::SECURED;
Я не знаком с Netter, но похоже, что вы перенаправляетесь с https обратно на http, и если вы не добавили выше, я бы предположил, что это связано с фреймворком.
Если это не так, вам нужно поделиться своими конфигами Apache.