IIS 8 i działający protokół HTTPS

0

Mam na własne potrzeby serwer IIS 8.0 na dość wiekowym komputerze z Windows 8, na tym serwerze nie zamierzam uruchamiać logiki biznesowej ASP.NET. Wykorzystuję jako zwykły serwer HTTP/HTTPS serwujący pliki HTML i JavaScript, bez logiki biznesowej po stronie serwera.

W protokole HTTP wszystko działa, jak należy i w Chrome i w Firefox, na komputerze i na telefonie.

Wykonałem wszystkie czynności opisane na tej stronie: https://learn.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis od nagłówka "IIS Manager" do końca.

Na komputerze (inny niż ten, na którym stoi serwer) w Firefox połączenie HTTPS działa poprawnie, w Firefox na telefonie z Androidem również działa poprawnie. Jedynie ostrzega mnie, że połączenie nie jest zabezpieczone, ale ja akceptuję wyjątek. Nie potrzebuję żadnych "autoryzowanych" certyfikatów, bo to ma służyć tylko do własnych, wewnętrznych testów i zabaw, pliki na tym serwerze nie zawierają poufnych ani wrażliwych danych.

Natomiast na Chrome, w tych samych obu urządzeniach, strona z tego serwera w ogóle nie otwiera się, pokazuje, że połączenie zostało zresetowane i komunikat "ERR_CONNECTION_RESET". Nie ma żadnego ostrzeżenia odnośnie samego połączenia.

Czy problem jest w serwerze czy w przeglądarce? Jak najprościej zmusić Chrome w telefonie i komputerze do współpracy z moim serwerem? Likwidacja ewentualnych ostrzeżeń o niezaufanych certyfikatach nie jest rzeczą konieczną, tym bardziej nie zamierzam występować do jakiś urzędów, podawać prawdziwych danych o sobie, może jeszcze płacić, tylko po to, żeby od czasu do czasu coś przetestować. Chodzi tylko np. o spełnienie jednego z warunków koniecznych do uruchomienia aplikacji PWA, jakim jest połączenie HTTPS, nic więcej nie jest mi potrzebne.

0

Błąd jest typu connection error. Jesteś pewien, że masz komunikację po 443 otwartą i inne przeglądarki korzystają z HTTPS?
Nie masz w tym Chrome jakichś ustawień typu serwer proxy, czy jakiś plugin do VPNa?

0

Błąd jest typu connection error. Jesteś pewien, że masz komunikację po 443 otwartą i inne przeglądarki korzystają z HTTPS?

Wyłączyłem w IIS powiązanie portu 80 z HTTP, żeby połączenie po HTTP nie było możliwe. W Firefox, po wpisaniu adresu z http samoczynnie otwiera się adres z https.
W Chrome teraz HTTP daje błąd "ERR_CONNECTION_REFUSED", a HTTPS daje błąd ERR_CONNECTION_RESET

Na stronie mam część sprawdzającą adres

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Microsoft Internet Information Services 8</title>
	</head>
	<body>
		<span id="info"></span>
		<script>
			var Info = document.getElementById("info");
			Info.innerHTML = window.location.href;
		</script>
	</body>
</html>

Teraz, w Firefox pojawia się adres z "https://' na początku obojętnie, czy wpisze HTTP, czy HTTPS. Jak działał HTTP, to w adresie pojawiał się początek "http" lub "https" w zależności, co wpisałem.

Zainstalowałem Chrome na serwerze i na serwerze mozna otworzyć HTTPS, pojawia się ostrzeżenie o certyfikacie.

Na komputerach nie mam żadnego firewalla ani antywirusa, (serwer to Windows 8, a klient to Linux Ubuntu 20.04). Zaporę wbudowaną w Windows całkowicie wyłączyłem. Na routerze mam ustawione przekierowanie połączeń z kilku portów, między innymi 80 i 443. nawet, jak robię połączenie po adresie IP, to HTTPS przez Google Chrome nie jest możliwe.

Nie masz w tym Chrome jakichś ustawień typu serwer proxy, czy jakiś plugin do VPNa?

Na komputerze z Chroma praktycznie nie korzystam, a korzystam z Firefox. Niczego szczególnego w nim nie ustawiałem, ani nie instalowałem. Co jakiś czas nawet wymazywałem całą historie i ciastka.

0

Przekierowanie 80>443 zrób sobie na pliki webcongfig jak tutaj:
https://www.google.com/amp/s/www.ssl.com/how-to/redirect-http-to-https-with-windows-iis-10/amp/

Dziwna sprawa. Ale chociaż inny błąd. A skąd masz certyfikat?
Może jeszcze dla pewności na próbę ustaw na 80 ponownie i spróbuj cokolwiek zobaczyć na 80 bez certyfikatu.

0

Jak ustawiłem powiązanie na 80, to serwer nie chciał wystartował, pokazywał się błąd.

Ale ustawiełm nietypowie powiązanie, czyli HTTPS na porcie 88. W routerze i poza IIS nic nie zmieniałem, a przy wpisaniu adresu z początkiem https:// i końcówką :88 jest tak samo, czyli na Firefox działa z ostrzeżeniem, na Chrome nie działa. Posługuję się bezpośrednio adresem IP.

Certyfikat serwera zrobiłem tak, jak jest napisane na począwszy od nagłówka "Obtain a Certificate" https://learn.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis , czyli certyfikat podpisany przez siebie, i też tak, jak dalej jest napisane, ustawiłem HTTPS, przy czym dodatkowo HTTPS na porcie 88.

W chromie zainstalowanym na serwerze działa poprawnie i 443 i 88, tyle, ze ostrzeżeniem. Wygląda na to, że jest jakiś problem z połączeniem.

0
jurek1980 napisał(a):

Przekierowanie 80>443 zrób sobie na pliki webcongfig jak tutaj:
https://www.google.com/amp/s/www.ssl.com/how-to/redirect-http-to-https-with-windows-iis-10/amp/

Dziwna sprawa. Ale chociaż inny błąd. A skąd masz certyfikat?
Może jeszcze dla pewności na próbę ustaw na 80 ponownie i spróbuj cokolwiek zobaczyć na 80 bez certyfikatu.

Wykonałem czynności z tego linku i nie pomogło, jedynie efekt jest taki, ze na Firefox otwiera się zawsze jako HTTPS, a na Chromie wcale.

Zainstalowałem Wireshark i stwierdziłem, że przy każdej próbie otwarcia przez Firefox i przez Chrome jest dwustronna komunikacja, gdzie po stronie klienta jest któryś port powyżej 40000, a po stronie serwera 88 (komunikację zarejestrowałem w czasie, kiedy na serwerze na porcie 88 był uruchomiony HTTPS). W danych pakietów są same śmieci, a po nagłówkach nie widać nic szczególnego. Pytanie jest proste: Czym różni się wywołanie przez Chrome od wywołania przez Firefox? Załączam zapis komunikacji z Wireshark, 192.168.1.2 to serwer, a 192.168.1.66 to klient.Pakiety.zip

0

Chwilowo wyłączyłem przekierowanie URL. Z tego, co widze, to przekierowanie to jest tak naprawdę poinstruowanie przeglądarki, że ma wejść na adres HTTPS w przypadku, jak wejdzie na HTTP, nic innego, więc czy robi się to samo, czy ja ręcznie wchodze, to jest to samo.

Na komputerze z Linux mam maszynę wirtualną z Windows 10 i tam świeżo zainstalowałem Chrome i działa prawidłowo HTTP i HTTPS.

Mam jeszce laptop z Windows 11 i na nim i w Chome i Edge działa tylko HTTP, a HTTPS nie działa, z tym samym komunikatem.

0

Narzędzia deweloperskie chrome nie mówią nic ciekawego w konsoli?

0
some_ONE napisał(a):

Narzędzia deweloperskie chrome nie mówią nic ciekawego w konsoli?

Na obu komputerach, na których nie działa, konsola pozostaje pusta, natomiast na zakładce "sieć" jest taki nagłówek żądania:

Request URL: https://192.168.1.2/
Referrer Policy: strict-origin-when-cross-origin

Sec-Ch-Ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Linux"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Odpowiedzi na żądanie nie ma. Na komputerze z Wn11 jest Sec-Ch-Ua-Platform: "Windows" i nieco inny User-Agent. Reszta jest tak samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1