Jak přesunout fórum z HTTP na HTTPS?

Odeslat odpověď


Odpoveď na tuto otázku je nutná pro rozlišení automatizovaných pokusů o registraci.
Smajlíci
:-) :)) :-/ 8-) :D :-[ :evil: ;-) :-P :-( 8-| :eh: :-| ??? !!! *19* *20* :geek: :ugeek: :-D

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Jak přesunout fórum z HTTP na HTTPS?

Re: Jak přesunout fórum z HTTP na HTTPS?

od x-rated » sob 14. dub 2018 10:59:22

tohle používám já (nesmí chybět RewriteEngine on), řeší to nejen přesměrování na https, ale i další problémy
pokud ti něco z toho znefunkční web, což se stát může kvůli nastavení webhostingu, tak pak zkoušej jednotlivý řádky zakomentovat vložením # na začátek řádku
nakonec můžeš otestovat zabezpečení na několika online testech
https://tls.arodax.com/
https://www.ssllabs.com/ssltest/
https://securityheaders.com/

Kód: Vybrat vše

# vypnutí gzip komprese
SetEnv no-gzip 1

# vypnutí výpisu složek
Options -Indexes

# nastavení headerů
Header always set Strict-Transport-Security: "max-age=31536000" "expr=%{HTTPS} == 'on'"
Header always set Referrer-Policy: "strict-origin-when-cross-origin"
Header always set Content-Security-Policy: strict-dynamic
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Xss-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"

# přesměrování http -> https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Re: Jak přesunout fórum z HTTP na HTTPS?

od Caleb » pon 09. dub 2018 9:16:01

Tak se zdá, že už mi HTTPS funguje za pomoci tohoto kódu

Kód: Vybrat vše

RewriteCond %{ENV:HTTPS} !^.*on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Bohužel jsem ale narazil na jiný problém a sice teď nejsou funkční mnohá rozšíření :-|
Pokud chci vstoupit např. do Galerie, Oxpus Download, Video galerie nebo kalendáře vždy to skončí hláškou "Požadovaná stránka není dostupná"

Re: Jak přesunout fórum z HTTP na HTTPS?

od Caleb » čtv 05. dub 2018 23:40:28

Zdravím
Taky bych měl dotaz. Jak "vynutit" použití HTTPS?

V administraci mám vše nastaveno správně dle prvního příspěvku což nemělo efekt.
Editoval jsem tedy .htaccess různými variantami, které jsem našel na netu. Jediný, který mi funguje je zde uvedený od Ansyko

Kód: Vybrat vše

#RewriteBase /

        RewriteCond %{HTTP_HOST} !^moje.domena.cz$ [NC]
        RewriteRule ^(.*)$ https://moje.domena.cz/$1 [L,R=301]
Vyčistil jsem cache phpBB i všech browserů, ale vždy se použije HTTP. Aby se použilo HTTPS musím do URL zadat přesný tvar https://moje.domena.cz/

Jak to udělat aby se vždy použilo HTTPS bez ohledu na to jak je zadána adresa?
Běžný uživatel do URL nepíše ani "www" natož pak určení protokolu.

Re: Jak přesunout fórum z HTTP na HTTPS?

od Kape51 » úte 11. dub 2017 21:58:51

Otakar Pěnkava píše:
úte 11. dub 2017 12:29:04
... Nastavení serveru a Nastavení cookies, ať víme, že máte vše správně nastaveno.
Uvedená nastavení jsem udělal naprosto přesně podle toho, jak jste je popsal v prvním příspěvku tohoto vlákna. Nyní to mám pochopitelně zase zpět na http, aby fórum jelo, takže screenshot by byl zavádějící. Přepínám to, jen když odněkud načerpám nový nápad. Podle vašeho návodu se vše zdálo velmi jednoduché, proto jsem do toho šel. Certifikát mi instaloval přímo hosting, zde žádný problém, pak jen dle vašeho návodu pár kliknutí myší... A ejhle, ono nic.

Nyní spekuluji o následující věci: Původně bylo fórum na doméně domena1, ke které byl alias domena2. Protože jsem přecházel k jinému hostingu a nechtěl nic ponechat náhodě, domény jsem "rozpojil" a na novém hostingu rozjel fórum na doméně domena2. Když jsem si byl jistý, že je vše OK, přiřadil jsem domena1 jako alias k domena2. Tedy "role" domén se otočily. Jenže nevím, jestli nemohlo zůstat někde něco zapsáno v php skriptech (v administraci fóra je správně domena2), co nyní blokuje přechod na https. Samozřejmě spekuluji... Ale fakt nevím...

Re: Jak přesunout fórum z HTTP na HTTPS?

od Otakar Pěnkava » úte 11. dub 2017 12:29:04

Jaká je adresa fóra? Prosím, dejte sem screenshot z Nastavení serveru a Nastavení cookies, ať víme, že máte vše správně nastaveno.

Re: Jak přesunout fórum z HTTP na HTTPS?

od Kape51 » pon 10. dub 2017 21:44:11

ansysko píše:
ned 09. dub 2017 18:54:49
NaphpBB.sk mám toto v súbore .htaccess

Kód: Vybrat vše

#RewriteBase /

        RewriteCond %{HTTP_HOST} !^www.phpbb.sk$ [NC]
        RewriteRule ^(.*)$ https://www.phpbb.sk/$1 [L,R=301]
... Ešte je možné, že ti hosting blokuje port na https
Děkuji za snahu. Jelikož jsem ani nyní nebyl úspěšný, začínám se - tak jak jsi nadhodil - přiklánět k názoru, zda nebude nějaký problém třeba v hostingu. Ale nastavení domény mám správně a certifikát mi instalovali přímo lidé z hostingu - tedy nedávalo by smysl, aby mi nainstalovali certifikát a pak blokovali jeho použití... I když jsme všichni jen lidé...

Chtěl bych se ale zeptat na věci, které by dle mne s provozem na https neměly souviset, ale já už zkrátka nevím, a tak se chytám i stébla:
  • Mám různá rozšíření (mody). Je možné, že by to dělal některý z nich? (předpokládám, že ne)
  • Moje doména má alias, který nemá certifikát, protože jsem nepředpokládal, že by měl jet na https. Nemůže to mít nějakou souvislost? (předpokládám, že ne)

    Děkuji.

Re: Jak přesunout fórum z HTTP na HTTPS?

od ansysko » ned 09. dub 2017 18:54:49

NaphpBB.sk mám toto v súbore .htaccess

Kód: Vybrat vše

#RewriteBase /

        RewriteCond %{HTTP_HOST} !^www.phpbb.sk$ [NC]
        RewriteRule ^(.*)$ https://www.phpbb.sk/$1 [L,R=301]
A nemám problém. Ešte je možné, že ti hosting blokuje port na https

Re: Jak přesunout fórum z HTTP na HTTPS?

od Kape51 » čtv 06. dub 2017 22:46:29

ansysko píše:
čtv 06. dub 2017 19:26:15
Skús to podľa tohoto návodu https://www.phpbb.sk/viewtopic.php?f=7&t=101
Děkuji za reakci, ale ani toto mi nezabralo. Vše se chovalo stejně, jako před tím (https -> "stránka nenalezena", resp. http -> jen textová forma). To jsem z toho blázen... Pro jistotu přikládám .htaccess, kde je (červeně) vidět, kam jsem přidal váš kód:

IfModule mod_rewrite.c>
RewriteEngine on
#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ https%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#
# The following 3 lines will rewrite URLs passed through the front controller
# to not require app.php in the actual URL. In other words, a controller is
# by default accessed at /app.php/my/controller, but can also be accessed at
# /my/controller
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
#
# If symbolic links are not already being followed,
# uncomment the line below.
# http://anothersysadmin.wordpress.com/20 ... pache-228/
#
#Options +FollowSymLinks
</IfModule>
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
# module mod_authz_host to a new module called mod_access_compat (which may be
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.
# We could just conditionally provide both versions, but unfortunately Apache
# does not explicitly tell us its version if the module mod_version is not
# available. In this case, we check for the availability of module
# mod_authz_core (which should be on 2.4 or higher only) as a best guess.
<IfModule mod_version.c>
<IfVersion < 2.4>
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
<Files "common.php">
Order Allow,Deny
Deny from All
</Files>
</IfVersion>
<IfVersion >= 2.4>
<Files "config.php">
Require all denied
</Files>
<Files "common.php">
Require all denied
</Files>
</IfVersion>
</IfModule>
<IfModule !mod_version.c>
<IfModule !mod_authz_core.c>
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
<Files "common.php">
Order Allow,Deny
Deny from All
</Files>
</IfModule>
<IfModule mod_authz_core.c>
<Files "config.php">
Require all denied
</Files>
<Files "common.php">
Require all denied
</Files>
</IfModule>
</IfModule>

Pro jistotu jsem vyzkoušel i ten váš druhý kód, tj. ten, který obsahuje "www", ale opět, jako kdybych nic nedělal. Prostě fórum se bez ohledu na jakékoliv nastavení pořád pokouší jet na portu 80 - jak plyne z výše uvedeného výpisu testovacího skriptu.

Prosím, byl by ještě nějaký nápad? Docela mě to mrzí. Jednak vás otravuji, ale také v dnešní době mi přijde ne zcela vhodné jet na http, když už i kdejaké květinářství má https, přičemž na uživatele vyskakuje při logování hláška o nezabezpečených heslech, apod. A také jsem koupil dost drahý certifikát...

Děkuji.

Re: Jak přesunout fórum z HTTP na HTTPS?

od ansysko » čtv 06. dub 2017 19:26:15

Skús to podľa tohoto návodu https://www.phpbb.sk/viewtopic.php?f=7&t=101

Re: Jak přesunout fórum z HTTP na HTTPS?

od Kape51 » čtv 06. dub 2017 18:28:33

Bohužel mi uvedený návod nefunguje. Verze phpBB 3.1.6, verze PHP 5.4, verze MySQL 5.5.

Snažil jsem se najít něco na phpbb.com. Stáhl jsem si skript, který mi po spuštění (při nastaveních dle návodu) vypsal toto:
Server port: 80
getenv(SERVER_PORT): 80
$_SERVER[SERVER_PORT]: 80
Forcing server vars: true
Secure cookies: true
Secure request: false

což je samozřejmě špatně. Na url https://www.domena.cz nejede nic ("vypršel časový limit"), na url http://www.domena.cz se objeví jakoby textová varianta fóra (jen texty, žádné pozadí, rámy a jiné grafické prvky - tedy nejspíš jen obsah databáze).

Pokud v administraci fóra https vypnu, pak skript vypíše:
Server port: 80
getenv(SERVER_PORT): 80
$_SERVER[SERVER_PORT]: 80
Forcing server vars: false
Secure cookies: false
Secure request: false

což je v tomto případě dobře. Na url https://www.domena.cz nejede nic ("vypršel časový limit") - to je v tuto chvíli samozřejmé. Na url http://www.domena.cz jede vše jak má, což je opět v danou chvíli správně.

Tedy nastavením v administraci se sice příslušné hodnoty někam zapíší, ale nejsou akceptovány příslušným php skriptem, který stejně "předpokládá" protokol http.

Dle návodu na phpbb.com jsem ještě zkoušel vyměnit nějaký kód v souboru /includes/functions.php, ale naprosto nic to nezměnilo.

Prosím o radu.
Předem děkuji.

Jak přesunout fórum z HTTP na HTTPS?

od Otakar Pěnkava » stř 27. črc 2016 15:18:01

V poslední době přechází spousta webů z protokolu HTTP na HTTPS. Výrazně tomu pomáhá nový bezplatný certifikát Let's Encrypt. A dnes se podíváme co vše budete muset udělat, když budete chtít přejít také.

Naštěstí v případě phpBB je to otázkou úpravy pár políček v nastavení. Předpokládám, že už certifikát máte aktivovaný.
1) přihlaste se do administrace
2) záložka Obecné (ta, kde se objevíte po přihlášení) -> Konfigurace serveru -> Server, upravíte:
- protokol serveru z http:// na https://
- port serveru z 80 na 443
- vynutit nastavení serveru: ANO
3) záložka Obecné (ta, kde se objevíte po přihlášení) -> Konfigurace serveru -> Cookies
- zabezpečená cookies: ANO

Tak a je to. Vaše fórum právě běží na protokolu HTTPS. Nemusíte do ničeho zasahovat, měnit htaccess ani jiné věci.

Nahoru