Puncte:1

ProxyPass și ProxyPassReverse provoacă o eroare 500 pe server

drapel in

Avem următoarele:

  • Site static WordPress la https://www.domain1.com.
  • Aplicația Web React/Django la https://www.domain2.com cu trei URI principale:
    • /
    • /admin
    • /api

Ne-am dori să apară ca și cum ar fi același domeniu la https://www.domain1.com. Mi s-a spus că acest lucru se poate face prin configurarea unui Proxy invers pe serverul web Apache care se află la https://www.domain1.com. Din această cauză, ar trebui să migrăm curentul / de https://www.domain2.com, la /portal sau /bord, ceea ce nu este nicio problemă.

Ceea ce ar trebui să se întâmple este dacă există un link către https://www.domain1.com/portal/*, va servi https://www.domain2.com/portal/*, dar tot va spune https://www.domain1.com/portal/* în browser. Astfel, utilizatorului pare același site web, chiar dacă provine din celălalt domeniu.

Oricum, deci încerc să modific .htaccess pentru https://www.domain1.com/ prin adăugarea următoarelor în partea de sus:

ProxyPass „/portal” „https://www.domain2.com/portal”
ProxyPassReverse „/portal” „https://www.domain2.com/portal”

# sau doar 

ProxyPass „/portal” „https://www.domain2.com/”
ProxyPassReverse „/portal” „https://www.domain2.com/”

Aceasta determină a 500 eroare pe întregul site WordPress.

Aceasta este întregul .htaccess:

ProxyPass „/portal” „https://www.domain2.com/portal”
ProxyPassReverse „/portal” „https://www.domain2.com/portal”

# BEGIN WpFastestCache
# Ora modificat: 09-09-21 9:26:57
<IfModule mod_rewrite.c>
RewriteEngine Pornit
RewriteBase /
RewriteCond %{HTTPS} =activat
RewriteCond %{HTTP_HOST} ^www.domain1.com
# Porniți WPFC Exclude
# Încheiere WPFC Exclude
# Start_WPFC_Exclude_Admin_Cookie
RewriteCond %{HTTP:Cookie} !wordpress_logged_in_[^\=]+\[email protected]
RewriteCond %{HTTP:Cookie} !wordpress_logged_in_[^\=]+\=ad,om
# End_WPFC_Exclude_Admin_Cookie
RewriteCond %{HTTP_HOST} ^www.domain1.com
RewriteCond %{HTTP_USER_AGENT} !(facebookexternalhit|WP_FASTEST_CACHE_CSS_VALIDATOR|Twitterbot|LinkedInBot|WhatsApp|Mediatoolkitbot)
RewriteCond %{HTTP_USER_AGENT} !(WP\sFastest\sCache\sPreload(\siPhone\sMobile)?\s*Bot)
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !(\/){2}$
RewriteCond %{REQUEST_URI} ![^\/]+\/$
RewriteCond %{QUERY_STRING} !.+
RewriteCond %{HTTP:Cookie} !comment_author_
RewriteCond %{HTTP:Cookie} !safirmobilswitcher=mobil
RewriteCond %{HTTP:Profil} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [sau]
RewriteCond /nfs/c09/h02/mnt/135490/domains/domain1.com/html/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) „/wp-content/cache/all/$1/index.html” [L]
</IfModule>
<FilesMatch „index\.(html|htm)$”>
AddDefaultCharset UTF-8
<ifModule mod_headers.c>
FileETag Niciunul
Antet dezactivat ETag
Set antet Cache-Control „max-age=0, no-cache, no-store, must-revalidate”
Setul antet Pragma „fără cache”
Setul de antet Expiră „Luni, 29 octombrie 1923, 20:30:00 GMT”
</ifModule>
</FilesMatch>
# END WpFastestCache
# BEGIN GzipWpFastestCache
<IfModule mod_deflate.c>
AddType x-font/woff .woff
AddType x-font/ttf .ttf
AddOutputFilterByType DEFLATE imagine/svg+xml
AddOutputFilterByType DEFLATE text/plat
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE aplicație/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE aplicația/rss+xml
AddOutputFilterByType DEFLATE aplicația/javascript
AddOutputFilterByType DEFLATE aplicația/x-javascript
AddOutputFilterByType DEFLATE aplicația/x-font-ttf
AddOutputFilterByType DEFLATE x-font/ttf
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/opentype font/ttf font/eot font/otf
</IfModule>
# END GzipWpFastestCache
# BEGIN LBCWpFastestCache
<FilesMatch „\.(webm|ogg|mp4|ico|pdf|flv|avif|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2| otf|ttf|svg|eot)(\.gz)?$">
<IfModule mod_expires.c>
Aplicație AddType/font-woff2 .woff2
Aplicație AddType/x-font-opentype .otf
ExpirăActiv pe
Expiră implicit A0
ExpiresByType video/webm A10368000
ExpiresByType video/ogg A10368000
ExpiresByType video/mp4 A10368000
ExpiresByType imagine/avif A10368000
ExpiresByType imagine/webp A10368000
ExpiresByType imagine/gif A10368000
ExpiresByType imagine/png A10368000
ExpiresByType imagine/jpg A10368000
ExpiresByType imagine/jpeg A10368000
ExpiresByType image/ico A10368000
ExpiresByType imagine/svg+xml A10368000
ExpiresByType text/css A10368000
ExpiresByType text/javascript A10368000
Aplicația ExpiresByType/javascript A10368000
ExpiresByType application/x-javascript A10368000
ExpiresByType application/font-woff2 A10368000
Aplicația ExpiresByType/x-font-opentype A10368000
ExpiresByType application/x-font-truetype A10368000
</IfModule>
<IfModule mod_headers.c>
Setul de antet Expiră „max-age=A10368000, public”
Antet dezactivat ETag
Setul antet Conexiune menține în viață
FileETag Niciunul
</IfModule>
</FilesMatch>
# END LBCWpFastestCache


# Redirecționare permanentă / https://www.domain1.com
RewriteEngine Pornit
RewriteCond %{HTTPS} !=activ
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# ÎNCEPE WordPress
RewriteEngine Pornit
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Terminați WordPress

Ce dau de cap aici?

drapel kz
Nu este clar de ce ar trebui să schimbați și adresa URL de la „domain2.com” la „/portal”? `/portal` este probabil doar pentru a distinge adresa URL către proxy la `domain1.com`?
cjones avatar
drapel in
@MrWhite După ce am postat acest lucru și m-am uitat din nou la documentație, se pare că nu există niciun motiv pentru care să nu pot face doar `ProxyPass "/portal" "https://www.domain2.com/"`.
drapel kz
...Da, exact.
drapel kz
...cu excepția faptului că aveți o nepotrivire a slash-urilor finale în directiva respectivă. Ar trebui să fie `ProxyPass /portal/ https://www.domain2.com/` - în caz contrar, veți ajunge cu o bară oblică dublă la începutul căii URL pe cererea proxy.
Puncte:2
drapel in

ProxyPass nu este permis într-un fișier .htaccess. Trebuie să-l puneți direct în configurația Apache.

Context: configurare server, gazdă virtuală, director

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.