Am căutat multe site-uri și, de asemenea, pagini de asistență Bitnami și nu am reușit să găsesc un răspuns la această problemă pe care o văd. Nu pot posta pe Bitnami suport comunitatea ca subiect nou deoarece tocmai m-am alăturat :/
Am rezumat cât de bine am putut, dar sunt multe detalii deoarece am adăugat toate fișierele de configurare relevante.
Rulez aplicația Wordpress MultiSite care rulează pe instanța AWS Lightsail Linux lansată folosind pachetul de sistem de instalare Bitnami. Site-ul meu funcționează bine și, de asemenea, am adăugat și configurat cu succes un certificat SSL Lets Encrypt. Pot trimite atât solicitări HTTP, cât și HTTPS pentru rădăcina și subdomeniul meu și pot vedea 200 OK în ambele tipuri de curl. Prin urmare, certificatul SSL configurat pe portul 443 funcționează conform așteptărilor.
curl -L -svo /dev/null https://trevorwalsh.art
Singura redirecționare configurată în prezent pe Apache este subdomeniul de redirecționare a cererilor „www.trevorwalsh.art” ----> „trevorwalsh.art”. Acesta este adăugat la configurarea acestui multisite WordPress.
curl -L -svo /dev/null www.trevorwalsh.art
Am verificat că pentru Wordpress MultiSite, procesul de adăugare a certificatului Lets Encrypt SSL permite în prezent configurarea redirecționării HTTP la HTTPS în Apache, spre deosebire de utilizarea standard Wordpress și Apache. Prin urmare, am cercetat și urmând îndrumările văzute în următorul document Bitnami. Stack-ul meu este „Abordarea A: Instalări Bitnami folosind pachete de sistem”
[1] Forțați redirecționarea HTTPS cu Apache:-
Am adăugat conținutul fiecărui fișier relevant care trebuie editat mai jos:-
Fișier --> /opt/bitnami/apache2/conf/bitnami/bitnami.conf
# Anunțați Apache că ne aflăm în spatele unui proxy invers SSL
SetEnvIf X-Forwarded-Proto https HTTPS=on
<VirtualHost _default_:80>
DocumentRoot „/opt/bitnami/apache/htdocs”
# BEGIN: Configurare pentru letsencrypt
Includeți „/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf”
RewriteEngine Pornit
RewriteCond %{HTTPS} !=activ
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
# END: Configurare pentru letsencrypt
<Directorul „/opt/bitnami/apache/htdocs”>
Opțiuni Indexuri FollowSymLinks
AllowOverride All
Solicitați toate acordate
</Director>
# Documente de eroare
ErrorDocument 503 /503.html
</VirtualHost>
Includeți „/opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf”
Fișier --> /opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf
<IfModule !ssl_module>
LoadModule ssl_module modules/mod_ssl.so
</IfModule>
Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DES !MD5 !EX$
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/opt/bitnami/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache/htdocs"
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache/conf/trevorwalsh.art.crt"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/trevorwalsh.art.key"
# BEGIN: Configuration for letsencrypt
Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
# END: Configuration for letsencrypt
<Directory "/opt/bitnami/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Error Documents
ErrorDocument 503 /503.html
</VirtualHost>
Fișier --> /opt/bitnami/apache2/conf/vhosts/00_status-vhost.conf
<VirtualHost 127.0.0.1:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
ServerName status.localhost
<Location /server-status>
Require local
SetHandler server-status
</Location>
</VirtualHost>
Am adăugat valorile corecte ale domeniului rădăcină și ale subdomeniului „ServerName” și „ServerAlias” pe baza instrucțiunilor văzute în acest document:-
[2] Configurați bloguri pentru diferite domenii cu certificate SSL diferite:-
Fișier --> /opt/bitnami/apache2/conf/vhosts/wordpress-https-vhost.conf
<VirtualHost 127.0.0.1:443 _default_:443>
ServerName trevorwalsh.art
ServerAlias *.trevorwalsh.art
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache/conf/trevorwalsh.art.crt"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/trevorwalsh.art.key"
DocumentRoot /opt/bitnami/wordpress
# BEGIN: Configuration for letsencrypt
Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
# END: Configuration for letsencrypt
<Directory "/opt/bitnami/wordpress">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride None
Require all granted
# BEGIN WordPress fix for plugins and themes
# Certain WordPress plugins and themes do not properly link to PHP files because of symbolic links
# https://github.com/bitnami/bitnami-docker-wordpress-nginx/issues/43
RewriteEngine On
RewriteRule ^bitnami/wordpress(/.*) $1 [L]
# END WordPress fix for plugins and themes
# BEGIN nip.io redirection
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(:[0-9]{1,5})?$
RewriteRule ^/?(.*) %{REQUEST_SCHEME}://%1.nip.io%2/$1 [L,R=302,NE]
# END nip.io redirection
# BEGIN WordPress Multisite
# Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress Multisite
</Directory>
Include "/opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf"
</VirtualHost>
Fișier --> /opt/bitnami/apache2/conf/vhosts/wordpress-vhost.conf
<VirtualHost 127.0.0.1:80 _default_:80> ServerAlias * DocumentRoot /opt/bitnami/wordpress
# <VirtualHost _default_:80> # BEGIN: Configuration for letsencrypt
# BEGIN: Configuration for letsencrypt
Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
# END: Configuration for letsencrypt
<Directory "/opt/bitnami/wordpress">
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride None
Require all granted
# BEGIN WordPress fix for plugins and themes
# Certain WordPress plugins and themes do not properly link to PHP files because of symbolic links
# https://github.com/bitnami/bitnami-docker-wordpress-nginx/issues/43
RewriteEngine On
RewriteRule ^bitnami/wordpress(/.*) $1 [L]
# END WordPress fix for plugins and themes
# BEGIN nip.io redirection
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(:[0-9]{1,5})?$
RewriteRule ^/?(.*) %{REQUEST_SCHEME}://%1.nip.io%2/$1 [L,R=302,NE]
# END nip.io redirection
# BEGIN WordPress Multisite
# Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress Multisite
</Directory>
Include "/opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf"
</VirtualHost>
În cele din urmă, am verificat că aveam parametrii corecti în fișierul „wordpress-htaccess.conf” văzut mai jos după ce am examinat informațiile văzute în următorul document:-
[3] Înțelegeți configurația implicită a fișierului .Htaccess - Adăugați o nouă secțiune în fișierul .Htaccess
Fișier --> /opt/bitnami/apache2/conf/vhosts/htaccess/wordpress-htaccess.conf
<Directory "/opt/bitnami/wordpress/wp-content/plugins/akismet">
# <Directory "/opt/bitnami/wordpress">
# Only allow direct access to specific Web-available files.
# Apache 2.2
<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from all
</IfModule>
# Apache 2.4
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
# Akismet CSS and JS
<FilesMatch "^(form\.js|akismet\.js|akismet\.css)$">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</FilesMatch>
# Akismet images
<FilesMatch "^logo-(a|full)-2x\.png$">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</FilesMatch>
</Directory>
Cu toate acestea, nu pot face să funcționeze Forțarea redirecționării HTTP/HTTPS și, după ce am încercat să rezolv singur acest lucru, am nevoie de ajutor, deoarece poate îmi lipsește ceva aici.
Mulțumesc anticipat pentru ajutor.