当前位置 主页 > 服务器问题 > nginx问题汇总 >

    详解nginx配置url重定向-反向代理(4)

    栏目:nginx问题汇总 时间:2018-09-20 16:23


        负数:Cache-Control: no-cache

        正数或零:Cache-Control: max-age = #, # 为指定时间的秒数s。其他的单位有d(天),h(小时)

    "off" 表示不修改“Expires”和“Cache-Control”的值

    控制图片等过期时间为30天,这个时间可以设置的更长。具体视情况而定

    location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {   log_not_found off; #不记录404 not found 错误日志   expires 30d;   break;  }

    控制匹配/resource/或者/mediatorModule/里所有的文件缓存设置到最长时间

      location ~ /(resource|mediatorModule)/ {    root /opt/demo;    expires max;  }

    设定某个文件的过期时间;这里为600秒,并不记录访问日志

    location ^~ /html/scripts/loadhead_1.js {access_log off;root /opt/lampp/htdocs/web;expires 600;break;}

    设置GZIP

    一般情况下压缩后的html、css、js、PHP、jhtml等文件,大小能降至原来的25%,也就是说,原本一个100k的html,压缩后只剩下25k。这无疑能节省很多带宽,也能降低服务器的负载。

    在nginx中配置gzip比较简单

    一般情况下只要在nginx.conf的http段中加入下面几行配置即可

     gzip on; gzip_min_length 1000; gzip_buffers  48k; gzip_types  text/plain application/x-javascript text/css text/html application/xml;

    可以通过网页gzip检测工具来检测网页是否启用了gzip

    临时重定向示例:访问www.lansgg.com/c 重定向到www.lansgg.com/cc

    编辑nginx.conf

     server {  listen 80 default_server;  server_name  www.lansgg.com lansgg.com;  access_log  logs/lansgg.access.log main;  error_log  logs/lansgg.error.log;  root   /opt/nginx/nginx/html/lansgg;  index index.html;  rewrite ^/c/(.*)$ http://www.lansgg.com/cc/$1;  }   [root@master lansgg]# tree.├── c│ └── index.html├── cc│ └── index.html├── index.html└── it.jpg 2 directories, 4 files

    访问http://www.lansgg.com/c 会跳转到http://www.lansgg.com/cc
    wKioL1RePF6hWtH5AAFKE7zHvzw477.jpg

    302即为临时重定向;

    永久重定向(隐含重定向)

    编辑nginx.conf

     server {  listen 80 default_server;  server_name  www.lansgg.com lansgg.com;  access_log  logs/lansgg.access.log main;  error_log  logs/lansgg.error.log;  root   /opt/nginx/nginx/html/lansgg;  index index.html;  rewrite ^/c/(.*)$ /cc/$1;  }

    访问 http://www.lansgg.com/c/ 页面显示的是跳转后的页面,可是url却没有变化;firebug也看不到302代码信息;现在它其实是301;

    2、反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

    2.1、配置nginx实现反向代理;

    需求:访问http://192.168.10.128/other 返回 apache主机的other目录下的Index.html

    wKioL1Rd21mwBFavAAIkMKYLkDs383.jpg

    涉及nginx指令:

    语法:proxy_pass URL