Welcome! Log In Create A New Profile

Advanced

Static files cookieless on NGINX + php5-fpm

Posted by spartaseventy 
Static files cookieless on NGINX + php5-fpm
April 29, 2014 07:08AM
Hi,
i'm approaching with NGINX web server in these days.
I used IIS before and I must say that NGINX is fantastic.

After first simple settings, now i want optimize some functionality.

I use nginx to serve php and static files, and i want serve static files(css, js, images) without cookie.
i try to do this using fastcgi_hide_header Set-Cookie; but checking http request for static files i find always cookie request.

This is an example:

Response
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 29 Apr 2014 10:41:30 GMT
Content-Type: image/jpeg
Content-Length: 34983
Last-Modified: Wed, 23 Apr 2014 15:38:45 GMT
Connection: keep-alive
Accept-Ranges: bytes

Request:
GET /public/normal/1396201785-38.jpg HTTP/1.1
Host: www.mydomain.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.mydomain.com/
Cookie: PHPSESSID=r91ognoe8uk3j68e0s3bqp0082
Connection: keep-alive


In my site config file i have this:

#URL canonicalization
server {
listen 80;
server_name mydomain.com;
return 301 http://www.mydomain.com$request_uri;
}

server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6

root /usr/share/nginx/www/mydomain/wwwroot;

server_name www.mydomain.com;


##
# Errors page
##

error_page 404 /404.php;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/www;
#}


#Add trailing slash
if (!-e $request_filename){
set $rule_1 1$rule_1;
}
if (!-e $uri){
set $rule_1 2$rule_1;
}
if ($uri !~ "(.*).txt$"){
set $rule_1 3$rule_1;
}
if ($uri !~ "(.*).ico$"){
set $rule_1 4$rule_1;
}
if ($uri !~ "(.*).xml$"){
set $rule_1 5$rule_1;
}
if ($uri !~ "(.*)public"){
set $rule_1 6$rule_1;
}
if ($uri !~ "(.*)theme"){
set $rule_1 7$rule_1;
}
if ($uri !~ "(.*)/$"){
set $rule_1 8$rule_1;
}
if ($rule_1 = "87654321"){
rewrite ^/(.*)$ /$1/ permanent;
}


set $mobile_rewrite do_not_perform;
## chi http_user_agent for mobile / smart phones ##
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino") {
set $mobile_rewrite perform;
}
if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
set $mobile_rewrite perform;
}

location / {
autoindex off; #no directory listing

#try_files $uri $uri/ $uri/index.php;

# Rewriting for sitemap, feed and robots
rewrite ^/sitemap.xml$ /sitemap.php last;
rewrite ^/feed.xml$ /feed.php last;
rewrite ^/robots.txt$ /robots.php last;


#Rewrite page tag with type content with paging
rewrite ^/tag-(.*)/(.*)/([0-9]+)/$ /?page=tag/&cat=$1&id=$2&pag=$3 last;

#Rewrite page tag with type content
rewrite ^/tag-(.*)/(.*)/$ /?page=tag/&cat=$1&id=$2 last;

#Rewrite page tag with type
rewrite ^/tag-(.*)/$ /?page=tag/&cat=$1 last;

#Rewrite page level 2(category) with paging
rewrite ^/(.*)/(.*)/([0-9]+)/$ /?page=$1/&cat=$2&pg=$3 last;

#Rewrite page level 3 (content)
rewrite ^/(.*)/(.*)/(.*)/$ /?page=$1/&cat=$2&id=$3 last;

#Rewrite page level 1 with paging
rewrite ^/(.*)/([0-9]+)/$ /?page=$1/&pg=$2 last;

#Rewrite page level 2 (category)
rewrite ^/(.*)/(.*)/$ /?page=$1/&id=$2 last;

#Rewrite page level 1 es. contatti/
if (!-e $request_filename)
{
rewrite ^/(.*)/$ /?page=$1/ last;
}


# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}

location ~* /public/normal/
{
if ($mobile_rewrite = perform) {
rewrite ^/public/normal/(.*)$ /public/mobile/$1 last;
}
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$
{
fastcgi_hide_header Set-Cookie; #cookieless
expires 360d;
log_not_found off;
}


#Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}


##
# Rewriting
##


# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#try_files $uri =404; #nicola
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/mydomain$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /usr/share/nginx/www/mydomain;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;

fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;

include fastcgi_params;
}

# deny access to hidden files
#
location ~ /\.
{
log_not_found off;
deny all;
}
}

Naturally after each change i restart nginx service.
Where is my error? Can you help me about this?

Thanks and sorry for my poor english.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 331
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready