Puncte:0

Este posibil să setați directiva de protocoale Apache în mod condiționat, mai degrabă decât în ​​toate blocurile VirtualHost?

drapel dj

În loc să adaugi protocoale h2 http/1.1 în toate cele 45 ale mele VirtualHost *:443 blocuri, mă întrebam dacă există o modalitate de a verifica condiția corespunzătoare și apoi de a seta protocoale pe baza asta? Cred, dar nu sigur 100%, că testul potrivit ar trebui să fie să văd dacă cererea a fost pentru https. Poate ar trebui să testez portul, totuși?

Asta am avut pana acum si nu functioneaza.

Definiți PROTOCOLE „http/1.1”

<Dacă „%{HTTPS} == „activat”>
    Definiți PROTOCOLE „h2 http/1.1”
</Dacă>

Protocoale ${PROTOCOLE}

Editați | ×

Protocoale nu funcționează într-un context de director.

Editare 2

Pur și simplu nu cred că este posibil, având în vedere că Protocoale directiva, dacă este definită global, nu poate fi modificată dinamic astfel. Serverul a analizat deja directiva. E setat. Corectează-mă daca greșesc.

Puncte:1
drapel in

Din documentatia:

Directiva protocoale
Descriere: protocoale disponibile pentru un server/gazdă virtuală
Sintaxă: Protocols protocol...
Implicit: Protocoale http/1.1
Context: configurare server, gazdă virtuală

Protocoale este permis în configurația serverului, nu numai în gazda virtuală. Setați-l doar o dată în afara unui VirtualHost și este setat pentru întregul server. Apoi îl puteți omite în definiția VirtualHost.

O configurație foarte simplă ar fi:

# definesc valorile implicite
Protocoale h2 http/1.1

# un singur VirtualHost pentru toate redirecționările HTTP
<VirtualHost *:80>
    Protocoale http/1.1
    RewriteEngine Pornit
    RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
</VirtualHost>

# Acum toate definițiile HTTPS VirtualHost
<VirtualHost *:443>
    #...
</VirtualHost>
Jeff avatar
drapel dj
Vreau o directivă diferită de protocoale setată pe VirtualHosts non-ssl activat
drapel in
Deoarece în zilele noastre HTTP este folosit doar pentru a redirecționa către HTTPS, puteți defini un singur VirtualHost pentru HTTP cu definiția protocoalelor de redirecționare.

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.