У меня есть приложение PHP, развернутое на Azure Website. Я настроил SSL-сертификат под конфигурацию, и теперь мне нужно перенаправить HTTP-запрос на https. Как я могу настроить это?Переадресовать сайт Azure на HTTPS
1
A
ответ
1
Это должны быть те же проверки, что и для php в любом месте, а не только в Azure. Вы должны быть в состоянии проверить, если он находится на HTTPS с этим:
if ($_SERVER['HTTPS'] == 'off' || !isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) {
// request is not using SSL, redirect to https, or fail
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit();
}
1
Ну, самый простой способ заключается в использовании web.config для этой цели.
Это правило будет убедиться, что весь трафик передается по протоколу SSL
<rule name="Force HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
Это моя конфигурация по умолчанию для PHP приложений на Azure
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<httpErrors existingResponse="PassThrough" />
<rewrite>
<rules>
<clear />
<!-- Rewrite rules to /public by @maartenballiauw *tnx* -->
<rule name="TransferToPublic-StaticContent" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_URI}" pattern="*images*" />
<add input="{REQUEST_URI}" pattern="*css*" />
<add input="{REQUEST_URI}" pattern="*js*" />
<add input="{REQUEST_URI}" pattern="robots.txt" />
</conditions>
<action type="Rewrite" url="public/{R:0}" />
</rule>
<rule name="TransferToPublic" patternSyntax="Wildcard">
<match url="*" />
<action type="Rewrite" url="public/index.php" />
</rule>
<rule name="Force HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="index.html" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
Смежные вопросы
- 1. Переадресовать сайт с http на https
- 2. Переадресовать https из не www на www
- 3. Переадресовать сайт для ie10
- 4. Хотите переадресовать Https на http в WordPress
- 5. Изменить сайт на https?
- 6. Переадресовать сайт drupal на страницу входа
- 7. Переадресовать незащищенные веб-сайты на защищенный сайт
- 8. Переадресовать сайт asp.net не на default.aspx страницу
- 9. переадресовать из блоггера на мой мобильный сайт
- 10. Переадресовать сайт на неизвестный внутренний адрес
- 11. HTTPS на Azure Virtual Machine
- 12. PHP - переадресовать сайт с информацией
- 13. Переадресовать сайт root в подкаталог
- 14. Переадресовать сайт на веб-сайт мобильной версии с помощью htaccess
- 15. Прокси безопасный https на ненадежный сайт https
- 16. Переадресовать все ссылки на веб-сайт www без http и http на https .htaccess
- 17. Переадресовать все страницы на страницу содержания - Azure Website
- 18. Автоматизация входа на сайт https
- 19. Закрепить HTTPS на весь сайт?
- 20. Переадресовать обратно на мой сайт из сторонней системы оплаты
- 21. WCF с HTTPS на Azure
- 22. Переадресовать https на не-www и http на www
- 23. Переадресовать HTTPS на HTTP и NON WWW на WWW
- 24. NGINX Переадресовать все на https, кроме одного каталога
- 25. Закрепить HTTPS на Azure и добавить URL
- 26. url переписать/переадресовать на iis7 перенаправить на мобильный сайт
- 27. Переадресовать несколько доменов на тот же веб-сайт azure с настраиваемыми параметрами
- 28. Разместите сайт joomla на azure
- 29. новый сайт на azure-mobile.net
- 30. Переадресовать веб-сайт через определенное время
Спасибо за ответ. Я должен был добавить «выключить» как условие, чтобы заставить его работать. Мне интересно, можем ли мы сделать это на уровне веб-сервера, вместо того чтобы писать перевод в начале каждой страницы. – sarat