Puncte:0

Forțarea redirecționării HTTP/HTTPS pe AWS LightSail Wordpress Multisite - Nu este implementat

drapel mp

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.

Puncte:0
drapel cn

trebuie să

sudo /opt/bitnami/ctlscript.sh reporniți apache

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.