Jump to content

How to improve initial app connection speed (3-5s delay) over Direct HTTPS & Apache Reverse Proxy?


Recommended Posts

Posted

Salut tuturor,

Caut sfaturi despre cum să optimizez  timpul inițial de deschidere a aplicației Emby pe iOS și Android.

În prezent, de fiecare dată când deschid aplicația prin intermediul datelor celulare (4G/5G), există o întârziere de 3 până la 5 secunde pe ecranul de conectare înainte de încărcarea ecranului principal. Latența ping-ului către rețeaua mea este extrem de mică (~3-5 ms), iar redarea funcționează perfect, fără buffering odată conectat, așa că lățimea de bandă/ISP-ul nu reprezintă o problemă.

Am testat două metode diferite de acces, dar ambele produc aceeași întârziere inițială a conexiunii de 3-5 secunde:

1. Redirecționare directă a porturilor:

Portul 8920 a fost redirecționat direct în router către Emby.

Certificat SSL personalizat valid (.pfx) încărcat direct în setările serverului Emby folosind DNS dinamic al furnizorului de servicii Internet (ISP).

Viteză maximă, fără limitare sau accelerare a ratei DNS.

1. Proxy invers Apache (Port 443 HTTPS):

Rutare subdomeniu către http://localhost:8095 cu HTTP/2 activat și certificate SSL valide.

Configurație Apache personalizată care gestionează WebSockets, cifruri SSL, HSTS și antete proxy.

Întrucât ambele metode produc exact aceeași întârziere de 3-5 secunde la pornire, presupun că aplicația ar putea rula prin verificări interne de timeout ale rețelei (de exemplu, încercând o rezervă LAN înainte de a trece la WAN) sau prin întârzieri de handshaking TLS.

Iată configurația mea Apache VirtualHost pentru referință:

<VirtualHost *:443>

Nume server emby.domain.com

Protocoale h2 http/1.1

Motorul SSL este activat

Fișierul Certificat SSLC „C:/Apache24/conf/ssl/Certificate-Apache/server.pem”

Fișierul SSLCertificateKey „C:/Apache24/conf/ssl/Certificate-Apache/server.pem”

Protocol SSL toate -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305

SSLHonorCipherComandă pe

Compresie SSL dezactivată

ProxyTimeout 86400

Expirare 86400

Mențineți activ

Cereri MaxKeepAlive 100

Timeout KeepAlive 10

Cereri proxy dezactivate

ProxyPreserveHost activat

<LocationMatch "^/web/startup/manuallogin.html$">

Antetul este întotdeauna setat la Cache-Control „no-cache, no-store, must-revalidate, max-age=0”

Antetul este întotdeauna setat la Pragma „no-cache”

Antetul este întotdeauna setat la Expiră la „0”

</LocationMatch>

<LocationMatch "^/web/videoosd/videoosd.html$">

Antetul este întotdeauna setat la Cache-Control „no-cache, no-store, must-revalidate, max-age=0”

Antetul este întotdeauna setat la Pragma „no-cache”

Antetul este întotdeauna setat la Expiră la „0”

</LocationMatch>

<LocationMatch "^/web/videoosd/.*.(html|js|css)$">

Antetul este întotdeauna setat la Cache-Control „no-cache, no-store, must-revalidate, max-age=0”

Antetul este întotdeauna setat la Pragma „no-cache”

Antetul este întotdeauna setat la Expiră la „0”

</LocationMatch>

<LocationMatch "^/web/modules/common/strings/.*.json$">

Antetul este întotdeauna setat la Cache-Control „no-cache, no-store, must-revalidate, max-age=0”

Antetul este întotdeauna setat la Pragma „no-cache”

Antetul este întotdeauna setat la Expiră la „0”

</LocationMatch>

<LocationMatch "^/web/strings/.*.json$">

Antetul este întotdeauna setat la Cache-Control „no-cache, no-store, must-revalidate, max-age=0”

Antetul este întotdeauna setat la Pragma „no-cache”

Antetul este întotdeauna setat la Expiră la „0”

</LocationMatch>

Motor de rescriere activat

RewriteCond %{HTTP:Upgrade} =websocket [NC]

Actualizare RewriteCond %{HTTP:Conexiune} [NC]

RewriteRule ^/?(.*) "ws://localhost:8095/$1" [P,L]

ProxyPass / http://localhost:8095/ flushpackets=on timeout=86400

ProxyPassReverse / http://localhost:8095/

Antetul este întotdeauna setat la X-Robots-Tag ca „all”

Antetul este întotdeauna setat la X-Content-Type-Options ca „nosniff”

Antetul este întotdeauna setat la opțiunile X-Frame „DENY”

Antetul este întotdeauna setat la X-XSS-Protection „1; mode=block”

Antetul este întotdeauna setat la politica de referire „no-referrer-when-downgrade”

Antetul este întotdeauna setat la Strict-Transport-Security „max-age= 63072000 ; includeSubDomains; preload”

DocumentRoot „C:/Apache24/htdocs_PRIVATE/pages-errors-emby”

<Directorul "C:/Apache24/htdocs_PRIVATE/pages-errors-emby">

Opțiuni -Indici

PermiteSuprascriere Niciuna

Solicitați toate acordurile

</Director>

RewriteCond %{ENV:REDIRECT_STATUS} 503

RewriteRule ^(.*)$ /503.html [L]

<Fișiere "503.html">

Antetul este întotdeauna setat ca stare „503 Serviciu indisponibil”

</Fișiere>

ErrorLog „logs/emby.domain.com-error.log”

Log personalizat „logs/emby.domain.com-access.log” combinat

</VirtualHost>

Există ceva ce pot modifica pe partea de server/proxy sau în setările clientului pentru a ocoli aceste câteva secunde de întârziere și a obține o conexiune aproape instantanee la lansarea aplicațiilor mobile?

Mulţumesc!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...