Skocz do zawartości


 

Zdjęcie

PFSENSE redirect http to https

PFSENSE redirect http to https

  • Proszę się zalogować aby odpowiedzieć
3 odpowiedzi na ten temat

PFSENSE redirect http to https

#1 entrzy

entrzy

    Nowy użytkownik

  • Użytkownicy
  • 7 postów

Napisany 06 lipiec 2017 - 09:09

Witam

 

Mam problem z konfiguracaj pfsnese tak żeby przekierowowywał ruch z http na https automatycznie,

 

Sprawa dotyczy hostingu.który mam za NAT

Mam sobie hosting w sieci lokalnej powiedzmy 192.168.1.10 oraz ip publiczne 172.X.X.X. do tego mam podpietą domenę np test.pl która wskazuje na adres publiczny 172.X.X.X..

 

N pfsense mam 2 reguły nat 1:1    172.X.X.X:80->192.168.1.10:80

                                                        172.X.X.X:443->192.168.1.10:443

 

Kiedy wpisuję domenę przykład http://test.pl lub https://test.pl  to działa bez problemu.

 

Problem jest wtedy kiedy chcę aby każdy kto wpisze w pasku przegladarki "test.pl" zostawał prekierowany na https://test.pl. W tym momencie po wpisaniu tej frazy strona ładuje się ale po http.

 

Wiec probowałem ustawi regułe  172.X.X.X:80-> 192.168.1.10:443 ale niestety to nie działa. dostaje wtedy błąd:

 

Bad requestYour browser sent a request that this server colud no understand.

Reason you're speaking plain HTTP to an SSL-enabled server port.

Instead use the Https scheme to access this url, please.

 

Mniej więcej rozumiem ten komunikat, ale nie wiem gdzie mogę to ustawić w pfsense.

Czy ktoś mi móże pomóc ? lub jesli to jest coś to wylikania w pfsense to proszę o podpowiedz :)

 

Pozdrawiam


Edytowany przez entrzy, 06 lipiec 2017 - 09:10.

  • 0

#2 nnd_newbie

nnd_newbie

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 156 postów

Napisany 06 lipiec 2017 - 09:20

Bo to się nie ustawia po stronie PFSense.

 

Jak zrobisz przekierowanie 80->443 to przeglądarka używa HTTP a dostaje odpowiedź HTTPS. Jak zrobisz przekierowanie 443->80 to przeglądarka użyje HTTPS, a dostanie odpowiedź HTTP.

 

To przekierowanie działa ale musiałbyś w przeglądarce podać protokół i port. Jak masz przekierowanie 80->443 to w przeglądarce musisz wpisać: https://172.X.X.X:80 - czyli wymuszasz żeby przeglądarka na porcie 80 używała HTTPS. Ale chyba nie o to Ci chodzi, żeby trzeba było ręcznie wpisywać porty w przeglądarce?

 

Przekierowanie HTTP -> HTTPS robi się po stronie aplikacji. Wordpress, Prestashop itp. w konfigach mają opcję wymuszenia HTTPS i wtedy przekierowanie robione jest wewnętrznie przez appkę.

 

Jeśli chcesz wymusić HTTPS ręcznie to w Apache możesz użyć pliku .htaccess i np. wpisu:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

 


Edytowany przez nnd_newbie, 06 lipiec 2017 - 09:30.

  • 0

#3 entrzy

entrzy

    Nowy użytkownik

  • Użytkownicy
  • 7 postów

Napisany 06 lipiec 2017 - 11:16

Rozumiem w takim razie że reguły które mam do NAT 1:1 maja zostac 80->80  443-443?


  • 0

#4 nnd_newbie

nnd_newbie

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 156 postów

Napisany 06 lipiec 2017 - 11:25

Tak. Port 80->80 i 443->443.

 

Lub szerzej:

- port 80 ma być przekierowany na port na którym jest uruchomiony serwer HTTP

- port 443 ma być przekierowany na port na którym jest uruchomiony serwer HTTPS 

 

Bo nic nie stoi na przeszkodzie (i czasami się zdarza) żeby uruchomić serwer na innych portach niż 80 i 443.  


Edytowany przez nnd_newbie, 06 lipiec 2017 - 11:27.

  • 0





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników