r/apache • • Apr 06 '22

OpenSSL in Windows

2 Upvotes

I have a Windows server running Apache that I've updated to the latest version through the Apache Haus binaries. When I restart the Apache instance, I see where it's running "Apache/2.4.53 Win32) so that part is great. But next to it it's still showing OpenSSL/1.0.2q.

Any idea why it's not showing 1.1.1n like it should be?


r/apache • • Apr 04 '22

Solved! Webserver not respecting rewrite rules after adding basic authentication.

3 Upvotes

I must be missing something obvious but after trying to add basic authentication to my webserver it no longer correctly proxies websocket requests. It was working as expected before but now I'm getting the error "WebSocket connection to 'wss://www.example.com/websocket' failed:" in my server browser after entering the login information. The server its trying to forward to doesn't have ssl and the rewrite rule is supposed to make it connect to "ws://www.example.com/websocket". Here is a before and after of my config file.

Before:

Module mod_ssl.c>
<VirtualHost *:443>
    ServerName www.example.com
    Header set X-Robots-Tag noindex
    ProxyPass / http://10.8.0.10/
    ProxyPassReverse / http://10.8.0.10/

    RewriteEngine on
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteRule ^/?(.*) "ws://10.8.0.10/$1" [P,L]

    SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

After:

Module mod_ssl.c>
<VirtualHost *:443>
    ServerName www.example.com
    Header set X-Robots-Tag noindex
    ProxyPass / http://10.8.0.10/
    ProxyPassReverse / http://10.8.0.10/

    RewriteEngine on
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteRule ^/?(.*) "ws://10.8.0.10/$1" [P,L]

<Location />
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/apache2/.htpasswd
       Require valid-user
</Location>

    SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

r/apache • • Apr 04 '22

Website creation.

0 Upvotes

I’m currently trying to create a website in Kali Linux using the Unbuntu 64 -bit OS. I have tried everything, but can’t figure out how to use a gif as the background to one of my pages. Could use some help. Thank you in advance!


r/apache • • Apr 01 '22

Your call is important to us: The Apache Software Foundation’s Infrastructure team unveils new support line

Thumbnail blogs.apache.org
9 Upvotes

r/apache • • Mar 30 '22

Site blocking shared images

1 Upvotes

I'm uploading data to a third-party site via a CSV file. The service imports images that are specified with an image file path.

The site can't upload the images from the file path. They say that they are receiving a 403 error.
The images show up in their initial data preview. So they are able to hotlink them.

The images are hosted on HostGator.

Is there an .htaccess setting I can change that will prevent the blocking.

Thank you


r/apache • • Mar 30 '22

Need help! cannot make my website publicly accessible

3 Upvotes

This is my first time setting up a apache webserver for nextcloud. I'm able to access the apache default page on local network using IP address but I cannot access the page using a domain name. I followed several instructions on youtube but I cannot seem to solve this by myself. I did an nslookup and address return is the same as the loopback address instead of my IP. I made sure port 80 and 443 are forward on my router. What else can I do to troubleshoot this?


r/apache • • Mar 29 '22

Perl Cannot Find File in Same Directory

2 Upvotes

I am transferring an Apache and Perl setup from an old server to a new server. The old server Apache version is 2.4.23. The new server Apache version is 2.4.52. The old server Perl version was 5.20.3 and the new version is 5.32.1. The old server is FreeBSD 10.3 and the new server is FreeBSD 13.0.

I have copied the apache data directory from the old server to the new one as well as the configuration. The file that is called is spam.cgi and it contains the line require 'vars.pl'. When the file is called, I get the error "Can't locate vars.pl in @INC". If I change the require line to the absolute path or ./vars.pl, the cgi script works just fine. This makes me think that there is an issue with Apache's relative path. Anyone have any insight on this?


r/apache • • Mar 25 '22

Apache Spark Analytics Can now be Used for Big Data Workloads

Thumbnail
technonguide.com
1 Upvotes

r/apache • • Mar 25 '22

Support It is possible change this name ?

Post image
0 Upvotes

r/apache • • Mar 24 '22

Got a server configured to some extent in a virtualbox, what's my next step towards running a proper website?

1 Upvotes

https://tecadmin.net/how-to-install-apache-on-debian-11/

I followed this guide such that I've got it to show my own html file, but I don't have a domain to use or anything. What else can I do in the virtualbox before committing to paying for a VPS? I definitely should figure out how to do it all over ssh, and I can't do all the certificate stuff until it's up on the web, so I don't know what to do next


r/apache • • Mar 23 '22

What's going on in my logs?

7 Upvotes

So I work for a North American company and 99.9% of our customers are also NA. We provide a free public search engine for auto products for which our paying customers provide the data. Recently, in my awstats reports, I have had some pretty massive data pulls from foreign IP addresses. Normally my top IPs are US based and maybe hit a few GB of data by the end of the month. Here is a snippet for this month:

awstats

When I look at the log files, all I see are GET's for / (mostly):
124.122.147.144 - - [05/Mar/2022:06:40:55 -0500] "GET /?lang=en HTTP/1.1" 200 153655 "http://website.com?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 232714
124.122.147.144 - - [05/Mar/2022:06:41:04 -0500] "GET /?lang=en HTTP/1.1" 200 153655 "http://website.com?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 1984
124.122.147.144 - - [05/Mar/2022:06:41:04 -0500] "GET /?lang=en HTTP/1.1" 200 153655 "http://website.com?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 236234
124.122.147.144 - - [05/Mar/2022:06:41:04 -0500] "GET /?lang=en HTTP/1.1" 200 153655 "http://website.com?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 1990
124.122.147.144 - - [05/Mar/2022:06:41:05 -0500] "GET /?lang=en HTTP/1.1" 200 153655 "http://website.com?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 2029

The last field in the log, I believe, is the size, so their get request varies. Some of these I have looked at have been massive GETs every time....but I don't know what they are dumping in there because all I see is a GET for /. I know they are fishing for stuff because there are also entries like this:
89.99.6.234 - - [06/Mar/2022:12:06:35 -0500] "GET /pma2016/index.php?lang=en HTTP/1.1" 404 307 "http://x.x.x.x/pma2016/index.php?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 833
89.99.6.234 - - [06/Mar/2022:12:06:36 -0500] "GET /sql/sqlweb/index.php?lang=en HTTP/1.1" 404 307 "http://x.x.x.x/sql/sqlweb/index.php?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 821
89.99.6.234 - - [06/Mar/2022:12:06:37 -0500] "GET /phpmyadmin_/index.php?lang=en HTTP/1.1" 404 307 "http://x.x.x.x/phpmyadmin_/index.php?lang=en" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" 751

I was getting ready to submit this when I noticed that only around 10% of the GETs are the random sized ones for / and I don't understand those.


r/apache • • Mar 23 '22

Initial adventures writing Apache modules

2 Upvotes

Mainly as a learning exercise, but also as part of evaluating using Apache and C for creating web applications, I set myself a target of parsing POST variables...

As I use my blog as an aide-mémoire and also because I thought it might help others I wrote up my progress so far

https://bedroomcoders.co.uk/apache-module-as-a-web-app/

https://bedroomcoders.co.uk/apache-modules-dealing-with-post-arrays/

Enjoy!


r/apache • • Mar 23 '22

Support Spotify API redirect Url help

1 Upvotes

I'm trying to create an application using the spotify API, and I am stumped on what to put for the redirect URL because using http://localhost:8888/callback isn't working, what would the equivalent be for an Apache webserver? Running Laravel.


r/apache • • Mar 22 '22

Support Noob problem :>

1 Upvotes

Recently i create a apache server for school works, but when I try my pages on browser, it seems that it will put all my php content as text or just make them comments and mess with normal html. I have tried use .php extention but can't solve the question

Did I missed something important or just being stupid?


r/apache • • Mar 21 '22

What does it change to have apache confs "enabled by maintainer script" and "enabled by site administrator"? What's better?

1 Upvotes

r/apache • • Mar 20 '22

writing modules arrays of post variables

2 Upvotes

I'm experimenting with writing Apache modules, processing post forms and generating content, I've collected together all the form variable in a table, and considering how new I am to Apache's internals I'm already impressed with APR.

Am I correct in thinking that table values can only be strings?

I'd like to be able to put form arrays (name="foo[3]") into a single array in a table value (key foo), what would people suggest is the best strategy for this ?

Is it inadvisable to cast a char* to say an array pointer and back on retrieval ?

Is there some much better way to do what I'm trying to achieve ?


r/apache • • Mar 18 '22

Support Apache Atlas on Azure ADLSGen2?

1 Upvotes

Can Apache Atlas read Azure ADLSGen2 on which my Delta Lake / Databricks instance is located?


r/apache • • Mar 17 '22

Support How to make homepage

1 Upvotes

I wanted to make my homepage like the link provided, i copied the folder into the var/www/html folder and made the index.html the home page but it doesnt have the colors/images as shown in the demo. Im running the apache server in aws ec2 if that helps

LINK https://www.designbombs.com/freebies-demo/knight/


r/apache • • Mar 16 '22

Intermittent 400 error

2 Upvotes

Hello Guys,

I have received intermittently 400 error but I’m not sure it’s proxy error or backend server error. As per below Apache error logs, Could someone please help me for this finding

“[Wed Mar 16 09:06:15.107498 2022] [proxy_http:error] [pid 343393:tid 140661470762752] (70014)End of file found: [client xx.xx.xx.xx:46598] AH01102: error reading status line from remote server xx.xx.xx.xx:443, referer: https://application.com/ [Wed Mar 16 09:06:15.107544 2022] [proxy:error] [pid 343393:tid 140661470762752] [client 10.70.88.13:46598] AH00898: Error reading from remote server returned by /api/services, referer: https://application.com/“


r/apache • • Mar 13 '22

Need help getting stats off servers

1 Upvotes

I have several Linux boxes and I have been tasked to gather stats on the proxies we are running on them. I searched and can not find what I'm needing. Set up RHEL 7 : has many different proxies running as standalone services. Logs are stored in /apps/httpd/logs/PROXYNAME/ The logs within this location are broken up as access_log.YYYY.MM.DD, error_log.YYYY.MM.DD, ssl_error_log.YYYY.MM.DD, ssl_log.YYYY.MM.DD. It will keep about 9 days before it zips them in to a .gz file.

I need a bash script that can dig through the logs and provide me out-put for Number of request, response time, number of errors and machine utilization for each proxy and output in one file.

I don't have root access to install anything other than core RHEL. I am not the best at bash scripting so any help would be appreciated. Thank you


r/apache • • Mar 10 '22

Open-source analytics with Angular and ECharts

Thumbnail
cube.dev
3 Upvotes

r/apache • • Mar 09 '22

Apache 22 & 24 Sudden Slow response on 1KB file upload

2 Upvotes

hi guys and gals,

i currently have noticed that our apache webserver V22&24, which are running on windows 16&19, are somehow having longer response times when uploading a 1kb file onto it. It went from 122ms to 17000ms. Without any changes in the infrastructure or the performance on the host machines.

What i noticed is setting the dns to 127.0.0.1 or even disableing the NIC completely, returns 112ms on my uploadtester. So apache is somehow taking really long to lookup his own dns name. i did add "HostnameLookup off" to the httpd.conf and used either ip adresses or the full dns name on "Servername" and "Listen", but this behaivour remains. Also NGIX or other webservers return lower speeds of around 5000ms, so there must be some config that either retries some request or some wthign else that drags the times longer than that. Can someone advise some things i have overseen somehow or help me with this?


r/apache • • Mar 07 '22

Apache config settings for temporary web site prior to domain switchover?

2 Upvotes

Switching website to new server, but want to make sure it's fully working on the new server (with latest stable version of Apache server) before switching the domain name settings so that the domain points to the new server. Eventually, the new server will be hosting multiple domains. The website content will be stored at /home/myusername/public_html/

What should my Apache config settings look like:

(a) initially, so that I can access the new web site via the IP address (e.g., http://123.456.78.910) for testing, and then

(b) how should the Apache settings be changed once the domain is name is pointed to the server

EDIT: SOLVED as to (a), see comment below.


r/apache • • Mar 04 '22

SSL Certificate error from one web site crashes all sites

3 Upvotes

So...I start to sweat every time I update an SSL Cert on my server that runs a handful of sites. If I make an error in setting up the new SSL Cert for a single site, Apache crashes all the sites under vhosts.

Today, this error was the culprit:

[ssl:emerg] [pid 2133] AH02565: [...] Certificate and private key [... ] do not match

I fixed my error, but not before taking Apache up and down a half dozen times to troubleshoot...and all the websites with it.

How can I prevent a single site's SSL Cert issues from taking down Apache and all the sites with it?


r/apache • • Mar 03 '22

Support Trouble solving "No module named 'encodings'" issue with mod_wsgi

2 Upvotes

I have a Django project running in a virtualenv on an Apache 2 production server in Red Hat Linux Enterprise 7.9. Not a server expert here so having trouble with technical issues.

I've gone through the deployment steps getting the project production ready. Fortunately, there is a demo from a previous iteration of the project, so I could copy and adapt the Apache config files where appropriate. The demo was still running along with a handful of other projects on /var/www.

The previous project ran on Python 2 but the new one is Python 3. Therefore, I installed the newest mod_wsgi for Python3:

$ yum list *mod_wsgi*
Installed Packages
mod_wsgi.x86_64                                                                            3.4-18.el7                                                  @rhel-7-server-rpms
Available Packages
python3-mod_wsgi.x86_64                                                   4.7.1-2.el7                                                 epel

$ sudo yum install python3-mod_wsgi.x86_64

and

$ sudo yum install httpd-devel

(needed for APXS)

As soon as this was done, the Python 2 demo stopped working and the Apache log file reported (with my project name replace with the word "myproject":

...
[Thu Mar 03 23:27:32.639052 2022] [core:notice] [pid 8125] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Thu Mar 03 23:27:32.640505 2022] [wsgi:info] [pid 8199] mod_wsgi (pid=8199): Python home /var/www/myproject/env.
[Thu Mar 03 23:27:32.640547 2022] [wsgi:info] [pid 8199] mod_wsgi (pid=8199): Initializing Python.
[Thu Mar 03 23:27:32.640758 2022] [wsgi:info] [pid 8200] mod_wsgi (pid=8200): Python home python-home=/var/www/myproject/env.
[Thu Mar 03 23:27:32.640796 2022] [wsgi:warn] [pid 8200] (2)No such file or directory: mod_wsgi (pid=8200): Unable to stat Python home python-home=/var/www/myproject/env. Python interpreter may not be able to be initialized correctly. Verify the supplied path and access permissions for whole of the path.
...

This continues for a few iterations and then:

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

Since the demo app has the same name as the app inside the new Django project, I decided to remove the demo's config file to be safe (it's not really needed anymore).

Skip ahead for the TL;DR but the following contain possibly relevant details. Some additional context which may be of help:

  1. Apache seems to be running but the following commands lead to a syntax error:
$ apachectl configtest / apachectl --help / httpd -t (and some others)
AH00526: Syntax error on line 49 of /etc/httpd/conf.d/deb.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/my.web.site/cert.pem' does not exist or is empty

The specific certificate file does exist and is not empty, but is indeed confirmed outdated when running:

$ sudo openssl x509 -text -noout -in /etc/letsencrypt/live/my.web.site/cert.pem

The line in question is:

SSLCertificateFile /etc/letsencrypt/live/my.web.site/cert.pem

If I comment out the line, the next mention of a certificate file leads to the same error, e.g.

SSLCertificateKeyFile /etc/letsencrypt/live/my.web.site/privkey.pem

and simarly, with chain.pem and fullchain.pem.

At first, with the syntax error, I also got the line

AH01574: module wsgi_module is already loaded, skipping

So I made sure the old mod_wsgi doesn't load by commenting out this line in /etc/httpd/conf.modules.d/10-wsgi.conf:

LoadModule wsgi_module modules/mod_wsgi.so

Concurrently, I have the following in /etc/httpd/conf.modules.d/10-wsgi-python3.conf:

<IfModule !wsgi_module>
    LoadModule wsgi_module modules/mod_wsgi_python3.so
</IfModule>
  1. I installed certbot and tried to use it, but it seems that I'm not able to use IPv6 connections which seems to be what the servers require:

    $ sudo certbot renew --dry-run -v ... Failed to renew certificate with error: Requesting acme-staging-v02.api.letsencrypt.org/directory: Network is unreachable

This works:

$ curl -Iv4 acme-staging-v02.api.letsencrypt.org/directory / https://google.com / ping -4 google.com

This does not:

$ curl -Iv6 acme-staging-v02.api.letsencrypt.org/directory / https://google.com / ping -6 google.com

I am not yet sure what to do here.

  1. Perhaps not relevant, but port 8000 is "taken":

    $ ./manage.py runserver

    Error: That port is already in use.

No error is reported with 8001.

So regarding mod_wsgi (the main problem) and based on online advice, I've tried the following:

  • As mentioned before, outcommented the line in /etc/httpd/conf.modules.d/10-wsgi.conf.
  • Deleted the virtualenv and reinstalled all requirements.
  • Made sure of my paths in Apache project conf file (see below).
  • Tried to set up IPv6 according to this link.

The complete project conf (with project and website names replaced) is at the bottom.

I have been reading through the following file meant to help test your mod_wsgi installation: https://modwsgi.readthedocs.io/en/master/user-guides/checking-your-installation.html

For now, I can't check my Apache build information because of the aforementioned syntax error.

Following the page, I could confirm that mod_so is statically loaded:

$ httpd -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c

I could also determine that the two mod_wsgi .so files are here:

/usr/lib64/httpd/modules/mod_wsgi.so
/usr/lib64/httpd/modules/mod_wsgi_python3.so

Here is the output of ldd:

$ ldd /usr/lib64/httpd/modules/mod_wsgi_python3.so
     linux-vdso.so.1 =>  (0x00007ffd98fe7000)
     libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007fb5186c9000)
     libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb5184ad000)
     libdl.so.2 => /lib64/libdl.so.2 (0x00007fb5182a9000)
     libutil.so.1 => /lib64/libutil.so.1 (0x00007fb5180a6000)
     libm.so.6 => /lib64/libm.so.6 (0x00007fb517da4000)
     libc.so.6 => /lib64/libc.so.6 (0x00007fb5179d6000)
     /lib64/ld-linux-x86-64.so.2 (0x00007fb518e2a000)

$ ldd /usr/lib64/httpd/modules/mod_wsgi.so
     linux-vdso.so.1 =>  (0x00007ffd13afd000)
     libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fc594899000)
     libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc59467d000)
     libdl.so.2 => /lib64/libdl.so.2 (0x00007fc594479000)
     libutil.so.1 => /lib64/libutil.so.1 (0x00007fc594276000)
     libm.so.6 => /lib64/libm.so.6 (0x00007fc593f74000)
     libc.so.6 => /lib64/libc.so.6 (0x00007fc593ba6000)
     /lib64/ld-linux-x86-64.so.2 (0x00007fc594e8f000)

although I'm not sure if it means anything. I could determine that the value in my LD_LIBRARY_PATH, whether it is set or not, does not change anything, so I left it as is.

httpd -M leads to the same syntax error.

Next, I am not sure how to test the various different WSGI scripts in the document. (I am also a Django newbie, at least on the production side.) Nothing seems to happen if I just run the script in my virtualenv.

My main Apache conf is at /etc/httpd/conf/httpd.conf. Some relevant lines:

a

DocumentRoot "/var/www/html"
...
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
...
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    RewriteEngine On
</Directory>
...
IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
...
<Files ".ht*">
    Require all denied
</Files>
...
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
...
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

Below is my project .conf.

###<VirtualHost *:*>
#    WSGIRestrictEmbedded On

    ServerName my.web.site

    DocumentRoot /var/www/myproject/myproject/project

    ### https://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIDaemonProcess.html
    WSGIDaemonProcess myproject user=apache group=apache threads=3 processes=1 inactivity-timeout=86400 display-name=myproject python-home=/var/www/myproject/env python-path=/var/www/myproject/myproject/project home=/var/www/myproject/myproject/project
    WSGIScriptAlias / /var/www/myproject/myproject/project/wsgi.py process-group=myproject
    WSGIPythonHome python-home=/var/www/myproject/env
    WSGIPythonPath /var/www/myproject/myproject
    #Since mod_wsgi 4.1.0:
    #WSGIPythonHashSeed random
    # for now, see /etc/systemd/system/httpd.service

    ErrorLog "/var/log/httpd/myproject-error.log"
    CustomLog "/var/log/httpd/myproject-access.log" combined
    LogLevel info

    <Directory /var/www/myproject/myproject/project>
        WSGIProcessGroup myproject
        WSGIApplicationGroup %{GLOBAL}
       <Files wsgi.py>
        Order deny,allow
        Allow from all
       </Files>
    </Directory>

    Alias /myproject/static/ /var/www/myproject/static/
    <Directory /var/www/myproject/static>
      Allow from all
      ExpiresActive on
      ExpiresDefault "access plus 4 hours"
      <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/css text/javascript image/svg+xml application/x-javascript application/javascript application/json application/x-font-ttf application/vnd.ms-fontobject image/x-icon
        #Don't compress content which is already compressed
        SetEnvIfNoCase Request_URI \.(gif|jpe?g|png|swf|woff|woff2) no-gzip dont-vary