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

Zde najdete veškeré články portálu phpBB.cz
Uživatelský avatar
Otakar Pěnkava
Administrátor
Administrátor
Příspěvky: 460
Registrován: sob 25. říj 2008 16:17:14
Kontaktovat uživatele:

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

Příspěvekod 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.
Starám se o projekt phpBB.cz od doby, kdy jsem jej zachránil před zaniknutím. Pomůžete mi a dostaneme jej zase nahoru?
Přes soukromé zprávy neposkytuji podporu.

Kape51
Příspěvky: 9
Registrován: ned 20. pro 2015 1:34:43

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

Příspěvekod 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.


Kape51
Příspěvky: 9
Registrován: ned 20. pro 2015 1:34:43

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

Příspěvekod Kape51 » čtv 06. dub 2017 22:46:29

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.

Uživatelský avatar
ansysko
Příspěvky: 558
Registrován: ned 01. lis 2009 23:47:51
Kontaktovat uživatele:

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

Příspěvekod 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

Kape51
Příspěvky: 9
Registrován: ned 20. pro 2015 1:34:43

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

Příspěvekod Kape51 » pon 10. dub 2017 21:44:11

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.

Uživatelský avatar
Otakar Pěnkava
Administrátor
Administrátor
Příspěvky: 460
Registrován: sob 25. říj 2008 16:17:14
Kontaktovat uživatele:

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

Příspěvekod 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.
Starám se o projekt phpBB.cz od doby, kdy jsem jej zachránil před zaniknutím. Pomůžete mi a dostaneme jej zase nahoru?
Přes soukromé zprávy neposkytuji podporu.

Kape51
Příspěvky: 9
Registrován: ned 20. pro 2015 1:34:43

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

Příspěvekod Kape51 » úte 11. dub 2017 21:58:51

... 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...


Zpět na „Články“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host