htaccess auf nginx Proxy-Pass Regel

karabey

Sehr aktives Mitglied
28. November 2012
925
75
Hallo,

Es gibt sicherlich unter uns viele die NGINX für die Geschwindigkeit etc einsetzen aber es gibt keine Proxy-Pass Regeln von JTL um diese einzusetzen. JTL Software teilt im roten Kasten mit das diese Regeln vom Nutzer umgeändert werden soll. Bin kein Programmierer und kann es nicht! Aber ich bemühe mich etwas zu tun und poste mal meine Regeln.

Der .htaccess von der Shop v4.03.1 ist wie folgt:

Code:
<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
      SetEnvIf Origin ":" IS_CORS
      Header set Access-Control-Allow-Origin "*" env=IS_CORS
    </FilesMatch>
    
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
  </IfModule>
</IfModule>


<IfModule mod_filter.c>
  AddOutputFilterByType DEFLATE \
    "application/atom+xml" \
    "application/javascript" \
    "application/json" \
    "application/ld+json" \
    "application/manifest+json" \
    "application/rdf+xml" \
    "application/rss+xml" \
    "application/schema+json" \
    "application/vnd.geo+json" \
    "application/vnd.ms-fontobject" \
    "application/x-font-ttf" \
    "application/x-javascript" \
    "application/x-web-app-manifest+json" \
    "application/xhtml+xml" \
    "application/xml" \
    "font/eot" \
    "font/opentype" \
    "image/bmp" \
    "image/svg+xml" \
    "image/vnd.microsoft.icon" \
    "image/x-icon" \
    "text/cache-manifest" \
    "text/css" \
    "text/html" \
    "text/javascript" \
    "text/plain" \
    "text/vcard" \
    "text/vnd.rim.location.xloc" \
    "text/vtt" \
    "text/x-component" \
    "text/x-cross-domain-policy" \
    "text/xml"


  <IfModule mod_mime.c>
    AddEncoding gzip svgz
  </IfModule>
</IfModule>


<IfModule mod_deflate.c>
  <FilesMatch "\\.(js|css|html|htm|php|xml)$">
    SetOutputFilter DEFLATE
  </FilesMatch>
</IfModule>


<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresDefault "access plus 1 months"
</IfModule>


<IfModule mod_headers.c>
  Header unset ETag
  
  Header set X-UA-Compatible "IE=edge"
  Header set X-Content-Type-Options "nosniff"
  Header unset X-Powered-By
  
  <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>


  <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>


<IfModule mod_rewrite.c>
  RewriteEngine on


  #REWRITE ANPASSUNG 1 (REWRITEBASE)
  #Wenn Ihr Shop in einem Unterverzeichnis (also z.B. meinedomain.de/meinverzeichnis) installiert ist, so kommentieren Sie die kommende Zeile aus und passen Sie den Verzeichnisnamen an
  RewriteBase /


  #REWRITE ANPASSUNG 2 (auf www.meinedomain.de umleiten)
  #Ihr Shop sollte nicht unter www.meinedomain.de und nur meinedomain.de erreichbar sein, siehe: http://guide.jtl-software.de/index.php?title=JTL-Shop3-Neuinstallation#4._Einrichtung_einer_Domainweiterleitung
  #RewriteCond %{HTTP_HOST} ^meinedomain.de
  #RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [r=301,L]


  #Regeln fuer das Rewrite der URLs von JTL-Shop4
  #Aendern Sie an diesen Zeilen nichts!
  RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ includes/sitemap.php?datei=$1 [L]
  RewriteRule ^export/((sitemap_).*\.(xml|txt)(\.gz)?)$ $1 [L]
  RewriteRule ^asset/(.*)$ includes/libs/minify/?g=$1 [L]
  RewriteRule ^robots.txt$ robots.php [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^. index.php [L]
</IfModule>


FileETag None
#Server Signatur deaktivieren
#ServerSignature Off

Mein NGINX Proxy-Pass Regeln sind wie folgt:
Code:
# Enable Gzip
gzip  on;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers     16 8k;
gzip_proxied any;


gzip_types
# text/html is always compressed by HttpGzipModule
text/css
text/javascript
text/xml
text/plain
text/x-component
application/javascript
application/json
application/xml
application/rss+xml
application/x-javascript
font/truetype
font/opentype
application/vnd.ms-fontobject
image/svg+xml svg svgz
image/png
image/gif
image/jpeg;


gzip_static on;


gzip_proxied        expired no-cache no-store private auth;
gzip_disable        "MSIE [1-6]\.";
gzip_vary           on;


location ~* \.(?:ico|css|js|gif|jpe?g|png|svg|woff|ttf)$ {
	expires max;
	try_files $uri $uri/ @rewrite;
	add_header Pragma public;
	add_header Cache-Control "public";
	log_not_found off;
	access_log off;
	add_header ETag "";
}


rewrite ^/asset/(.*) /includes/libs/minify/index.php?g=$1 last;


location @rewrite {
	rewrite / /index.php?$args;
}
location /admin{}
location /dbeS{}


location ~ [^/]\.php(/|$) {
	fastcgi_split_path_info ^(.+?\.php)(/.*)$;
	if (!-f $document_root$fastcgi_script_name) {
		return 404;
	}
	fastcgi_index index.php;
	include fastcgi_params;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	proxy_connect_timeout  300s;
	proxy_send_timeout  300s;
	proxy_read_timeout  300s;
	fastcgi_send_timeout 300s;
	fastcgi_read_timeout 300s;
	fastcgi_pass 127.0.0.1:9002;
}

Danke an micky59999 an seine Regeln.

Kann man den Regeln noch verändern/verbessern damit es keine Fehler gibt?
 

karabey

Sehr aktives Mitglied
28. November 2012
925
75
AW: htaccess auf nginx Proxy-Pass Regel

Ja auch die sollte man dem entsprechend anpassen :p
 

oemi1980

Gut bekanntes Mitglied
30. November 2007
131
2
AW: htaccess auf nginx Proxy-Pass Regel

Gibt es irgendwo eine Komplettanleitung um auf NGINX umzustellen oder mit zu beginnen?
 

csaeum

Sehr aktives Mitglied
23. Juli 2011
1.345
147
Küps
AW: htaccess auf nginx Proxy-Pass Regel

Also ich habe mich die letzten 3 Wochen mal ausführlich mit den ganzen beschäftigt.

Wir nutzen einen VServer für 10€ im Monat.

Ich nutzte bis jetzt PD-Admin als Admininterface mit Memcached unser Shop hat damit recht gut performt.
First Viel lag bei 4,4 Sekunden RepeatView bei 2,5 Sekunden laut Webpagetest. Bis auf Compress Images (Note C) haben wir überall ein A. CDN nutzen wir nicht.

Nun habe ich als Admininterface VestaCP und als Server NGINX mit PHPFPM.

Ein Testshop läuft damit ohne Fehler:
First Viel liegt nun bei 2,1 Sekunden RepeatView bei 1,4 Sekunden laut Webpagetest.
Auch hier wieder alles bei Note A, Compress Images nicht verfügbar (wahrscheinlich weil ich Google PageSpeed nutze) sowie CDN auch weil ich es nicht nutze.

Ich werde nächste Woche den Produktiven Shop umziehen und dann nochmal genauer berichten.

Wer meine Template für NGINX für VestaCP braucht dies ist anbei:

server {
listen %ip%:%web_port%;
server_name %domain_idn% %alias_idn%;
root %docroot%;
index index.php index.html index.htm;
access_log /var/ log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;

location / {
#JTL
try_files $uri $uri/ @rewrite;

location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
#JTL
log_not_found off;
access_log off;
add_header ETag "";
}

location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}

fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
#JTL
rewrite ^/asset/(.*) /includes/libs/minify/index.php?g=$1 last;

location @rewrite {
rewrite / /index.php?$args;
}

location /admin {
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}

fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}

location /dbeS {
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}

fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}

error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;

#Standard
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}

location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}

include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;

# Pagespeedanweisungen
pagespeed on;
pagespeed RewriteLevel CoreFilters;
pagespeed FetchHttps enable,allow_self_signed;
pagespeed FileCachePath /var/ngx_pagespeed_cache/%domain_idn%;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters combine_css;
pagespeed EnableFilters combine_javascript;
pagespeed EnableFilters combine_heads;
pagespeed EnableFilters convert_jpeg_to_progressive;
pagespeed EnableFilters convert_png_to_jpeg;
pagespeed EnableFilters convert_meta_tags;
pagespeed EnableFilters dedup_inlined_images;
pagespeed EnableFilters extend_cache;
pagespeed EnableFilters extend_cache_pdfs;
pagespeed EnableFilters fallback_rewrite_css_urls;
pagespeed EnableFilters inline_import_to_link;
pagespeed EnableFilters local_storage_cache;
pagespeed EnableFilters outline_css;
pagespeed EnableFilters outline_javascript;
pagespeed EnableFilters recompress_images;
pagespeed EnableFilters recompress_jpeg;
pagespeed EnableFilters remove_comments;
pagespeed EnableFilters remove_quotes;
pagespeed EnableFilters rewrite_css;
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters rewrite_javascript_inline;
pagespeed EnableFilters rewrite_javascript_external;
pagespeed EnableFilters rewrite_style_attributes;
pagespeed EnableFilters rewrite_style_attributes_with_url;
pagespeed EnableFilters trim_urls;
pagespeed UseExperimentalJsMinifier on;
pagespeed JpegRecompressionQuality 85;
pagespeed ImageRecompressionQuality 85;
pagespeed Domain https://fonts.googleapis.com;

location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }
location /ngx_pagespeed_global_statistics {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }
location /ngx_pagespeed_message {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }
location /pagespeed_console {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }
location ~ ^/pagespeed_admin {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }
location ~ ^/pagespeed_global_admin {auth_basic "Restricted"; auth_basic_user_file /etc/nginx/googlepagespeed.htpasswd; }

# Gzipkonfiguration
gzip on;
gzip_comp_level 6;
gzip_min_length 500;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types text/plain text/css image/png image/gif image/jpeg application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_vary off;

include %home%/%user%/conf/web/nginx.%domain%.conf*;
}
 
Ähnliche Themen
Titel Forum Antworten Datum
Update auf 2.0.1.0 bricht ab bei 1.12.0.0. JTL-Wawi 2.0 1
Neu HTTP 500 auf /Kontakt – Route scheint intern noch zu existieren, JTL-Weiterleitung greift nicht Betrieb / Pflege von JTL-Shop 0
Direktupdate von JTL Wawi 1.10.11.0 auf 2.0 möglich? JTL-Wawi 2.0 5
Neu Update Wawi 1.10.16.0 auf 1.11.7 -> JTL-POS Einrichtung / Updates von JTL-POS 1
Neu Seit Update auf JTL-WaWi 2.0.0.0 keine Abholung der Kundendaten bei MediaSaturn-Bestellungen JTL-Wawi - Fehler und Bugs 5
Neu Banner per OPC auf Artikelseite Allgemeine Fragen zu JTL-Shop 5
Neu Artikelmerkmale auf Pickliste ausgeben? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Plötzliche Preissenkungen auf ebay und amazon JTL-Wawi 1.10 2
Kommissionierung: Aufteilung eines Auftrags auf mehrere Boxen JTL-Wawi 1.9 1
Beantwortet Update von 1.11.5 auf 2.0 bleibt hängen JTL-Wawi 2.0 2
Neu Umzug SQL Datenbank auf neuen Server User helfen Usern - Fragen zu JTL-Wawi 2
Update 1.9.8.0 auf 1.11.7.0 sofort Meldung "Not Responding" JTL-Wawi 1.11 2
Neu 1000te Zugriffe aus der ganzen welt auf applepay.php Allgemeine Fragen zu JTL-Shop 2
Neu Problem nach Update auf Shop 5.6.1 - Impressum JTL-Shop - Fehler und Bugs 2
Seit umzug auf neuen Server und vorherigem update auf 2.0, startet worker nicht... JTL-Wawi 2.0 4
Macht es noch Sinn, auf dem Marktplatz OTTO zu verkaufen? Otto.de - Anbindung (SCX) 7
Neu Pickliste wird auf Packtisch und in Wawi unter Picklisten nicht angezeigt. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Artikelpreis auf Anfrage Fehlermeldung Allgemeine Fragen zu JTL-Shop 0
Aufträge auf die Pikliste legen bringt Fehler DataTreeListView JTL-Wawi 1.11 2
Shop 5.5.3 / Eingabefelder auf IOS zoomt immer :-( Einrichtung JTL-Shop5 6
Artikelbild auf Lieferschein anzeigen JTL-Wawi 1.11 5
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Artikelbezeichnung auf der Rechnung anpassen von "Artikelname" in "Kurzbeschreibung" JTL-Wawi 1.10 4
Update auf 1.11.7 JTL-Wawi 1.11 4
Update von 1.11.6 auf 1.11.7: JTL Worker verbindet nicht mehr mit Datenbank (WaWi schon) JTL-Wawi 1.11 1
Neu Umstellung auf DHL Versenden 4.0 (REST-API) JTL-ShippingLabels - Ideen, Lob und Kritik 43
Neu DHL Versenden 4.0 - Firmenname nicht auf Label JTL-ShippingLabels - Ideen, Lob und Kritik 7
Neu Rechnung wird zusätzlich auf Labeldrucker ausgegeben JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Index auf tbesucher.dLetzteAktivitaet? JTL-Shop - Fehler und Bugs 2
Neu Austausch JTL-POS Tablet - Datenübertragung auf neues Gerät - Einrichtung Einrichtung / Updates von JTL-POS 0
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 3
JTL-Ameise: Export von Verkäufen auf Komponenten-Ebene JTL-Wawi 1.10 6
Neu Update der Version 1.2.2.2 auf eine aktuelle Installation von JTL-Wawi 11
GLS-Aufträge stehen auf „Teilgeliefert“, obwohl vollständig versendet – kein Versandkostenartikel vorhanden (JTL 1.10.14.1) JTL-Wawi 1.10 0
Neu Abbruch auf der Plattform löscht nicht mehr den Auftrag Arbeitsabläufe in JTL-Wawi 3
Neu Frage zur mobilen WMS-Anwendung auf Android JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Durch Massenupdate Menge auf ebay ändern User helfen Usern - Fragen zu JTL-Wawi 0
Neu Der Auftrag wird nicht ausgeliefert. Der Auftrag befindet sich bereits auf einer anderen Pickliste. User helfen Usern - Fragen zu JTL-Wawi 2
Verkaufseinheit wird nicht auf Angebot/Auftrag/Rechnung/Lieferschein ausgegeben JTL-Wawi 1.11 3
Beantwortet Herstellerslider auf Startseite entfernen Betrieb / Pflege von JTL-Shop 2
Neu POS-Server startet nicht mehr nach WaWi-update auf Version 1.11.6.0 JTL-POS - Fehler und Bugs 1
Neu Coupon auf Pickliste anzeigen lassen 5 + 1 Gratis Arbeitsabläufe in JTL-Wawi 5
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu Falsche Berechnung auf dem Z-Bon JTL-POS - Fehler und Bugs 0
Neu Samsung TAB A7 + Swissbit TSE USB-Stick mit JSAUX Adapter OTG Typ C auf USB JTL-POS - Fragen zu Hardware 1
Neu Update auf 1.11.6 mittlerweile sinnvoll User helfen Usern - Fragen zu JTL-Wawi 0
Lieferbare Aufträge werden nicht auf WMS-Picklisten gesetzt JTL-Wawi 1.11 4
Nach Update auf 1.11.6 werden die Preisänderung nicht mehr von der Wawi an Amazon übertragen JTL-Wawi 1.11 0
Neu Newsletter: KI Webinare, JTL Wawi 2.0 und vieles mehr - Freue dich auf JTL Events! User helfen Usern - Fragen zu JTL-Wawi 5

Ähnliche Themen