Попробуйте команду docker:
docker run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /d/checmd3/che/assembly/assembly-main/target/eclipse-che-7.0.0-beta-2.0/eclipse-che-7.0.0-beta-2.0:/che \
-e CHE_ASSEMBLY='/d/checmd3/che/assembly/assembly-main/target/eclipse-che-7.0.0-beta-2.0/eclipse-che-7.0.0-beta-2.0' \
-v /d/checmd3/che/tmp:/data \
eclipse/che start
НАД РАБОТАЕТ КОМАНДА
INFO: (che init): CHE_VERSION=7.0.0-beta-2.0
INFO: (che init): CHE_CONFIG=/d/checmd3/che/tmp
INFO: (che init): CHE_INSTANCE=/d/checmd3/che/tmp/instance
INFO: (che config): Generating che configuration...
INFO: (che config): Customizing docker-compose for running in a container
INFO: (che start): Preflight checks
mem (1.5 GiB): [OK]
disk (100 MB): [OK]
port 8080 (http): [AVAILABLE]
conn (browser => ws): [OK]
conn (server => ws): [OK]
INFO: (che start): Starting containers...
INFO: (che start): Services booting...
INFO: (che start): Server logs at "docker logs -f che"
INFO: (che start): Booted and reachable
INFO: (che start): Ver: 7.0.0-beta-2.0
INFO: (che start): Use: http://172.26.10.112:8080
INFO: (che start): API: http://172.26.10.112:8080/swagger
Это обычно обрабатывалось бы с помощью конфигурации IIS или с фильтром ISAPI, но если Вы хотите сделать это в коде приложения, Вы могли бы поместить что-то вроде этого в событие Page_Init Вашей основной страницы...
If Not Request.IsSecure
Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"))
End If
Я просто перенаправил бы все http URL к https с отдельной страницей или использовал бы, "требуют безопасного канала" опция на Вашей конфигурации IIS, которая отобразит ошибку, если кто-то попытается получить доступ к non-https странице.
Вот сайт с руководством по перенаправлению ошибочной страницы к https URL Вашего сайта.
Я сделал это с HTTPModule так, чтобы Вы не волновались о помещении кода на каждой основной странице (если у Вас есть больше чем один). Эта версия также выключает перенаправление для localhost, таким образом, у Вас не должно быть SSL на Вашей собственной машине. В основном Вы делаете новый HTTP-модуль как это:
Public Class RedirectToHttpsModule
Implements IHttpModule
Public Sub Dispose() Implements IHttpModule.Dispose
End Sub
Public Sub Init(ByVal context As HttpApplication) Implements IHttpModule.Init
AddHandler context.BeginRequest, AddressOf context_BeginRequest
End Sub
Private Sub context_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim application As HttpApplication = TryCast(sender, HttpApplication)
If Not application.Request.IsSecureConnection And Not application.Request.IsLocal Then
application.Response.Redirect(application.Request.Url.ToString().Replace(application.Request.Url.Scheme, "https"))
End If
End Sub
End Class
Также необходимо добавить соответствующую строку в web.config для HTTPModule:
<httpModules>
<add type="RedirectToHttpsModule" name="RedirectToHttpsModule" />
</httpModules>
if(!String.Equals(Request.Url.Scheme,
"https",
StringComparison.OrdinalIgnoreCase)) { }
Если Вы хотите принять только безопасные соединения, создать отдельный сервис для порта 80, который только перенаправляет к HTTPS. Идеально, Вы сохранили бы запрашиваемый тракт в перенаправлении HTTP.
Если Вы просто хотите поощрить Подключения HTTPS для просмотра (и не заботьтесь о роботах, например), добавьте это к своим страницам:
<script type="text/javascript">
if(location.protocol=='http:')
location=location.toString().replace(/^http:/,'https:');
</script>
Нижеследующее основано на ответе Джоша Стодоласа ( IsSecureConnection ), но использует UriBuilder для изменения схемы на https вместо замены строки. Преимущество этого подхода в том, что он не изменит все вхождения «http» в URL-адресе на «https».
if (!Request.IsSecureConnection)
{
UriBuilder newUri = new UriBuilder(Request.Url);
newUri.Scheme = Uri.UriSchemeHttps;
Response.Redirect(newUri.Uri.AbsoluteUri);
}