htaccess auf nginx Proxy-Pass Regel

karabey

Sehr aktives Mitglied
28. November 2012
907
74
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
907
74
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.328
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
Neu .htaccess wie nun einstellen ? Installation / Updates von JTL-Shop 2
Neu Megamenü Anzahl der Kategrien je Zeile von vier auf sechs erhöhen Templates für JTL-Shop 0
Preiskalkulation auf Grundlage von Lieferantenpreise und Lieferantenbestand JTL-Wawi 1.8 1
Kettensymbol auf alle Artikel verwenden Otto.de - Anbindung (SCX) 0
Neu ++ Fehler beim update von 1.55.5.3 auf version 1.8.11.0 ++ Installation von JTL-Wawi 8
Neu Verkaufskanal POS Kundengruppen Preis brutto auf Artikeletikett drucken Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Wasserzeichen auf Lieferschein und Rechnung auf ganze A4 Seite User helfen Usern - Fragen zu JTL-Wawi 5
Neu Keine Bestellung möglich über Nova 5.4 auf 4K Laptop JTL-Shop - Fehler und Bugs 16
Bestellungen beim Lieferanten - Aufteilung auf verschiedene Läger ? JTL-Wawi 1.9 3
Neu JTL Artikel auf Shopify als Varianten anzeigen Shopify-Connector 2
Neu Sehr lange Ladezeit der Produktseite nach Upgrade auf Version 5.4 Allgemeine Fragen zu JTL-Shop 6
JTL-Search - Hardwarestörung auf einem der Search-Server (s7) Störungsmeldungen 0
Neu Nach update auf 5.4 kein Login mehr möglich JTL-Shop - Fehler und Bugs 2
Neu JTL Shop 5.4 - Seite 1 verschachtelt sich bei klick auf Seite 1 JTL-Shop - Fehler und Bugs 0
Nach Umstieg auf V5 Paypal express weg. Einrichtung JTL-Shop5 5
Neu Update JTL Wawi von 1.0.0.0 auf 1.8.10.0 Installation von JTL-Wawi 8
Neu Warnung: Update auf Shop 5.4 Installation / Updates von JTL-Shop 39
POS Zahlungen tauchen in Wawi unter Zahlungen nicht mehr auf JTL-Wawi 1.9 0
Neu Umstellung auf den Amazon Lister 2.0 Amazon-Lister - Ideen, Lob und Kritik 0
API Zeichenbegrenzug auf 20 Zeichen Otto.de - Anbindung (SCX) 1
Neu Nach Update auf 5.4 klappt einiges nicht mehr ! Installation / Updates von JTL-Shop 9
Neu Update auf 5.4.0 schlägt fehl Installation / Updates von JTL-Shop 4
Neu JTL Shop Subscription wurde durch Umstellung auf "Advanced Edition" teils doppelt berechnet Allgemeine Fragen zu JTL-Shop 1
Neu Umfrage: Scanpflicht auf Artikelebene (Nur für bestimmte Artikel aktivieren/deaktivieren) JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Filter und Workflows nicht auf Vaterartikel anwendbar JTL-Workflows - Fehler und Bugs 0
Neu Fehler mit Zugriff auf die Datenbank (Exec Direct). Installation von JTL-Wawi 4
Neu Packtisch+ wartet nicht auf TrackingID Import Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 6
Neu Upgrade CFE auf Advanced wenn Hosting gebucht Allgemeine Fragen zu JTL-Shop 6
Neu Retouren/Rückerstattungen auf Amazon Arbeitsabläufe in JTL-Wawi 1
Neu Fehler bei Coupons bei Wechsel von 4 auf 5 Betrieb / Pflege von JTL-Shop 0
Neu Artikelnamen auf der Homepage vollständig sehen. Er ist wenn er zu lang ist verkürzt. Allgemeine Fragen zu JTL-Shop 2
Neu Anfägerfragen und Installtion auf ngix server Installation / Updates von JTL-Shop 13
Nach Update auf 1.9 alle Drucker verschwunden JTL-Wawi 1.9 6
Seit Wechsel auf DPD werden keine Versanddaten mehr an Kaufland übertragen. kaufland.de - Anbindung (SCX) 1
Neu Amazon Lister 2.0 Fehlercode: SLR402 Bild "1.jpg" für das Angebot mit SKU "xxxxx" auf Channel "AMAZONDEJTL" wurde nicht gefunden Amazon-Lister - Ideen, Lob und Kritik 0
Update von 1.6.47.2 auf 1.9.5.3 (Registrierung, usw.) JTL-Wawi 1.9 1
Neu Inhalt eines Containers mehrfach auf verschiedenen Unterseiten darstellen Allgemeine Fragen zu JTL-Shop 4
Neu Bestand auf einem Amazon-Marktplatz auf Null setzen. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Gleichzeitiger Zugriff von zwei Nutzern auf JTL-Shop-Backend Allgemeine Fragen zu JTL-Shop 2
Ändern der Bearbeitungszeit auf Amazon lässt sich nicht auf Länder eingrenzen JTL-Wawi 1.9 0
Attribute für EWR Pflichtangaben (ab 13.12.2024) auf den Marktplätzen otto.de & kaufland.de Otto.de - Anbindung (SCX) 8
Fehler bei Update von 1.5.55.8 auf 1.7.15.6 ( Unbehandelte Ausnahme #7110FFD83C0136E0 vom Typ JTL.Database.SqlUpdater.UpdateException) JTL-Wawi 1.7 0
Neu Wie finde ich per SQL heraus welche Aufträge auf Teillieferbar stehen? JTL Ameise - Eigene Exporte 1
Neu DPD A6 Versandlabel auf A4 Etiketten Bogen drucken JTL-ShippingLabels - Fehler und Bugs 0
JTL Wawi Update 1.8.12.4 auf 1.9.5.2 nicht möglich JTL-Wawi 1.9 4
Neu Kontaktformular auf einer eigenen Seite hinzufügen Allgemeine Fragen zu JTL-Shop 1
Neu QR Code auf Rechnung bei PayPal fehlerhaft User helfen Usern - Fragen zu JTL-Wawi 0
Neu WMS Wareneingang falscher Artikel auf Etikett JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Beantwortet Artikelbilder auf Lieferschein / Rechnung / Angebot. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 8
Neu [Liquid Error: Ein Aufrufziel hat einen Ausnahmefehler verursacht] Fehlermeldung in meiner Designvorlage auf Ebay eBay-Designvorlagen - Fehler und Bugs 0

Ähnliche Themen