Ich habe meine Website auf Amazon Elastic BeanStalk gehostet. Es verwendet Nginx als Proxy-Server und hat Gzip-Komprimierung aktiviert. Aber wenn ich PageInsights auf der Site starte, meldet es, dass viele meiner statischen Inhaltsdateien gezippt werden müssen. Warum erkennt PageSpeed Insights die Komprimierung nicht? Gibt es etwas Besonderes, das getan werden muss?statische Dateien werden als unkomprimiert angezeigt, auch wenn der Webserver für die GZIP-Komprimierung konfiguriert wurde
Antwort
Ich glaube, ich fand actully die Antwort
von gzip-Komprimierung auf nginx aktivieren, damit Sie es nur für text/html (dh nginx Standard http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_types)
Um es auch für andere Arten zu ermöglichen, Sie müssen es explizit tun. Im Falle von bohnenstange, erstellen Sie die folgende Datei in Ihrem Projekt
.ebextensions/gzip.config
und den Code setzen dort (stellen Sie sicher, dass Sie den Einzug halten, ist es wichtig):
files:
/etc/nginx/conf.d/gzip.conf:
content: |
gzip_types application/json;
Wie Sie sehen können, musste ich in meinem Fall JPS-Dateien gzipen. Sie haben wahrscheinlich Probleme damit, dass Pagespeed sich über CSS- und JS-Dateien beschwert, oder? Wie der obige Link andeutet, können Sie ein * Wildcard verwenden, um alles zu komprimieren. Wenn nicht, listen Sie einfach die benötigten MIME-Typen in der Konfiguration auf, stellen Sie sie bereit und überprüfen Sie PageSpeed Insights erneut.
Danke für den Tipp! In meinem Fall muss es jedoch ein anderes Problem geben. Ich habe einen "Content-Type: text/html" aber es ist immer noch nicht komprimieren. Vielleicht sollte ich nicht die AWS-Konsole verwenden, sondern einfach nur nginx config, um gzip zu aktivieren. Wer weiß, was die Konsole macht? –
Dmitrys Antwort funktioniert nur, wenn in der Standardkonfiguration, die Amazon für Sie festlegt, kein gzip_types-Eintrag vorhanden ist. Dies ist nun der Fall und Sie müssen eine .expextensions-conf-Datei schreiben, um die gesamte Konfiguration mit einer benutzerdefinierten zu überschreiben. Dazu müssen Sie:
- Laden Sie die Standardkonfiguration von einer Ihrer Instanzen per SSH. Es wird
/etc/nginx/conf.d
im Ordner sein und00_elastic_beanstalk_proxy.conf
Erstellen Sie eine neue Datei in Ihrem .ebextensions Ordner
proxy.conf
die diese Vorlage folgt aufgerufen aufgerufen werden:files: "/etc/nginx/conf.d/proxy.conf": mode: "000644" owner: root group: root content: | # Paste the contents of the config you downloaded here # at this indentation level container_commands: 00_remove: command: "rm -f /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf"
- Ändern der Config die gzip_types Sie haben wollen. https://pastebin.com/raw/KGvdsZc4
Wort der Vorsicht:
- Stellen Sie Ihre Anwendung
als Referenz das ist, was wie meine Arbeit proxy.conf
Datei sieht ich sicher haben sie eine gemeinsame Anwendungsfall ist die gesamte Konfiguration dieses zu überschreiben Auf diese Weise wird die Funktionalität der AWS EB Web Tools in einigen Punkten beeinträchtigt. Insbesondere alles, was die nginx-Konfiguration (statische Dateipfade, gzip-Komprimierung usw.) beeinflusst, funktioniert nicht. Um Änderungen vorzunehmen, müssen Sie nur die Konfiguration direkt in proxy.conf
techwes Lösung war sehr hilfreich und funktionierte großartig (in meinem Fall erlaubt mir, Anwendung/Javascript zu den gzip_types hinzufügen), mit einer Änderung: die Datei in Ihrem Ordner .exextensions muss mit einer .config
Erweiterung benannt werden, so sollte es sein. (Ich habe versucht, Techwes einen Kommentar hinzuzufügen, aber nicht genug Rep!)
Es ist auch, dass ist zu beachten, wenn Sie gzip in Ihrer EB-Umgebung mit der AWS-Konsole (Environment> Konfiguration> Software-Konfiguration) deaktivieren, wird es die gzip Zeilen aus der 00_elastic_beanstalk_proxy.conf
Datei zu entfernen, so dass Sie ein .config
verwenden können Datei, um eine weitere .conf
Datei hinzuzufügen, ohne die gesamte 00_elastic_beanstalk_proxy.conf
Datei ersetzen zu müssen.
Haben Sie das jemals herausgefunden? Ich habe es aktiviert und es komprimiert nicht für mich entweder –
Nein, es wird immer noch als unkomprimiert angezeigt. – gsrivast