当前位置: 首页 > news >正文

贵阳市网站建设营销方案模板范文

贵阳市网站建设,营销方案模板范文,wordpress top主题,怎样才能做好网络推广一、重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求#xff0c;此功能依靠 PCRE(perl compatible regular expression)#xff0c;因此编译之前要安装PCRE库#xff0c;rewrite是nginx服务器的重要功能之一#xff0c;重写功能(…一、重写功能    rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求此功能依靠 PCRE(perl compatible regular expression)因此编译之前要安装PCRE库rewrite是nginx服务器的重要功能之一重写功能(rewrite)用于实现URL的重写URL的重写是非常有用的功能比如它可以在我们改变网站结构之后不需要客户端修改原来的书签也无需其他网站修改我们的链接就可以设置为访问另外还可以在一定程度上提高网站的安全性。更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。 一ngx_http_rewrite_module模块指令 ①if指令 if 条件匹配 { action } 使用正则表达式对变量进行匹配匹配成功时if指令认为条件为true否则认为false变量与表达式之间使用以下符号链接 ​#比较变量和字符串是否相等相等时if指令认为该条件为true反之为false ! #比较变量和字符串是否不相等不相等时if指令认为条件为true反之为false ~ #区分大小写字符可以通过正则表达式匹配满足匹配条件为真不满足匹配条件为假 !~ #区分大小写字符,判断是否匹配不满足匹配条件为真满足匹配条件为假~* #不区分大小写字符可以通过正则表达式匹配满足匹配条件为真不满足匹配条件为假 !~* #不区分大小字符,判断是否匹配满足匹配条件为假不满足匹配条件为真-f 和 !-f #判断请求的文件是否存在和是否不存在 -d 和 !-d #判断请求的目录是否存在和是否不存在 -x 和 !-x #判断文件是否可执行和是否不可执行 -e 和 !-e #判断请求的文件或目录是否存在和是否不存在(包括文件目录软链接) ​ 举例: location /main {index index.html;default_type text/html; #定义文件类型if ( $scheme http ){ #如果用户访问的协议是http$scheme变量表示用户来访问使用的协议。 echo if----- $scheme; #则输出if ---协议 }if ( $scheme https ){ #如果用户访问的协议是https$scheme变量表示用户来访问使用的协议。 echo if ---- $scheme; #则输出if ---协议 } ②return return用于完成对请求的处理并直接向客户端返回响应状态码比如:可以指定重定向URL(对于特殊重定向状态码301/302等) 或者是指定提示文本内容(对于特殊状态码403/500等)处于此指令后的所有配置都将不被执行return可以在server、if 和 location块进行配置 www.kgc.com/test/ 404 return code; #返回给客户端指定的HTTP状态码 return code [text]; #返回给客户端的状态码及响应报文的实体内容可以调用变量,其中text如果有空格,需要用单或双引号 return code url; #返回给客户端的URL地址 3字打头重定向301  永久重定向  将缓存记录在浏览器中 302  临时重定向  没有缓存  每次都要重定向  ③set 指令 指定key并给其定义一个变量变量可以调用Nginx内置变量赋值给key另外set定义格式为set $key valuevalue可以是text, variables和两者的组合。 server{listen 80;root /data/;server_name www.kgc.com;location /test {set $name kgc;echo $name;set $my_port $server_port;echo $my_port;} } ④break 指令 用于中断当前相同作用域(location)中的其他Nginx配置与该指令处于同一作用域的Nginx配置中位于它前面的配置生效位于后面的 ngx_http_rewrite_module 模块中指令就不再执行Nginx服务器在根据配置处理请求的过程中遇到该指令的时候回到上一层作用域继续向下读取配置该指令可以在server块和location if块中使用 注意: 如果break指令在location块中后续指令还会继续执行,只是不执行 ngx_http_rewrite_module 模块的指令,其它指令还会执行 实验访问bj就跳转到beijing  location /bj {rewrite ^/bj/(.*) /beijing/$1 break;} ① 修改配置文件 ② 新建对应文件夹及页面文件 ③ 访问页面bj    验证  二rewrite 指令 2.1 rewrite 跳转实现 Nginx通过ngx_http_rewrite_module 模块支持URL重写、支持if条件判断但不支持else 跳转从一个 location跳转到另一个location循环最多可以执行10次超过后nginx将返回500错误 PCRE支持perl兼容正则表达式的语法规则匹配 重写模块 set 指令创建新的变量并设其值 2.2 rewrite 执行顺序 1 、执行 server 块里面的 rewrite 指令。 2 、执行 location 匹配。 3、 执行选定的 location 中的 rewrite 指令 2.3 rewrite 语法格式 rewrite flag 使用介绍 利用nginx的rewrite的指令可以实现url的重新跳转rewrtie有四种不同的flag分别是redirect(临时重定向302)、permanent(永久重定向301)、break和last。其中前两种是跳转型的flag后两种是代理型 跳转型指由客户端浏览器重新对新地址进行请求 代理型是在WEB服务器内部实现跳转 flag 标志 说明 redirect;302 #临时重定向重写完成后以临时重定向方式直接返回重写后生成的新URL给客户端由客户端重新发起请求;使用相对路径,或者http://或https://开头状态码302 permanent;301       www.bj.com     www.beijing.com #重写完成后以永久重定向方式直接返回重写后生成的新URL给客户端由客户端重新发起请求状态码301 break;       www.bj.com #重写完成后,停止对当前URL在当前location中后续的其它重写操作而后直接跳转至重写规则配置块之后的其它配置;结束循环建议在location中使用 适用于一个URL一次重写  last; #重写完成后,停止对当前URI在当前location中后续的其它重写操作而后对新的URL启动新一轮重写检查不建议在location中使用会造成死循环少用适用于一个URL多次重写要注意避免出现超过十次以及URL重写后返回错误的给用户301 正则表达式格式(regex) . #匹配除换行符以外的任意字符 \w #匹配字母或数字或下划线或汉字 \s #匹配任意的空白符 \d #匹配数字 [0-9] \b #匹配单词的开始或结束 ^ #匹配字符串的开始 $ #匹配字符串的结束 * #匹配重复零次或更多次#匹配重复一次或更多次 ? #匹配重复零次或一次 {n} #匹配重复n次 {n,} #匹配重复n次或更多次 {n,m} #匹配重复n到m次 *? #匹配重复任意次但尽可能少重复 ? #匹配重复1次或更多次但尽可能少重复 ?? #匹配重复0次或1次但尽可能少重复 {n,m}? #匹配重复n到m次但尽可能少重复 {n,}? #匹配重复n次以上但尽可能少重复 \W  #匹配任意不是字母数字下划线汉字的字符 \S #匹配任意不是空白符的字符 \D #匹配任意非数字的字符 \B #匹配不是单词开头或结束的位置 [^x] #匹配除了x以外的任意字符 [^kgc] #匹配除了kgc 这几个字母以外的任意字符 实验1访问bj就跳转到beijing  location /bj {rewrite ^/bj/(.*) /beijing/$1 permanent;} 写配置文件 建立目录 检测 实验2访问http等于访问https location / {if ( $scheme http ) {rewrite /(.*) https://$host/$1 permanent;} } 写配置文件 去谷歌浏览器访问 实验3last 和 break区别  break适用于一个URL一次重写  last会造成死循环少用适用于一个URL多次重写 location /break {rewrite .* /test break; }location /last {rewrite .* /test last; }location /test {return 403; } 写配置文件 假设页面不存在 去检测 三防盗链 防盗链基于客户端携带的referer实现referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息如果别人只链接了自己网站图片或某个单独的资源而不是打开了网站的整个页面这就是盗链referer就是之前的那个网站域名正常的referer信息有以下几种 none#请求报文首部没有referer首部比如用户直接在浏览器输入域名访问web网站就没有referer信息。 blocked#请求报文有referer首部但无有效值比如为空。 server_names#referer首部中包含本主机名及即nginx 监听的server_name。 arbitrary_string#自定义指定字符串但可使用*作通配符。示例: *.kgc.org www.kgc.* regular expression#被指定的正则表达式模式匹配到的字符串,要使用~开头例如~.*\.kgc\.com nginx安全之防盗链设置避免资源盗用以及节省带宽 实验先盗链 ① 被盗端添加文件a.jpg    7-1配置文件    先不设置配置文件先盗图 另一台机器7-2   我们使用apache    ② 盗取端开启httpd服务添加web前端配置 html body h1this is yun /h1 img srchttp://www.lucky.com/a.jpg/ /body /html 如果在电脑真机上做防盗链 关于电脑真机中如何设置ip与域名的映射关系  文件修改的时候进入属性——安全——编辑指定当前用户有写入的权限及时修改 及时撤回 检测下 去浏览器反复问192.168.246.7/a.jpg 再去浏览器访问下  ③ 访问盗取端地址可以直接获得被盗端图片 这图在192.168.246.7上面去192.168.246.8访问这是盗图 实现   实现防盗链 然后去第一台机器配置 ① 配置文件 server{listen 80;root /data/;server_name www.lucky.com;listen 443 ssl;ssl_certificate /data/ssl/www.kgc.com.crt;ssl_certificate_key /data/ssl/www.kgc.com.key;ssl_session_cache shared:sslcache:20m;ssl_session_timeout 10m;location ~* \.(jpg|gif|swf|jpeg|bmp)$ {valid_referers none blocked *.lucky.com lucky.com;if ( $invalid_referer ) {#rewrite ^/ http://www.lucky.com/error.png;return 403;} } } 如果地址不合法返回错误图片 解释 \.(jpglgif|swf)$:这段正则表达式表示匹配不区分大小写以.jpg 或.gif 或.swf 结尾的文件Valid_referers:合法的referers。None:浏览器中 referer 为空。Blocked :referer 不为空的情况 ②检测  再次访问盗取端地址 补充配置文件解释 四其它相关高级功能 https://www.digitalocean.com/community/tools/nginx #自动生成nginx配置文件 https://github.com/agile6v/awesome-nginx/ #第三方模块 https://www.runoob.com/lua/lua-tutorial.html #lua帮助 https://666666.dev/#/ #it人工具箱 二、反向代理 反向代理reverse proxy指的是代理外网用户的请求到内部的指定的服务器并将数据返回给用户的一种方式这是用的比较多的一种方式。 Nginx 除了可以在企业提供高性能的web服务之外另外还可以将 nginx 本身不具备的请求通过某种预定义的协议转发至其它服务器处理不同的协议就是Nginx服务器与其他服务器进行通信的一种规范主要在不同的场景使用以下模块实现不同的功能 ngx_http_proxy_module #将客户端的请求以http协议转发至指定服务器进行处理 ngx_http_upstream_module #用于定义为proxy_pass,fastcgi_pass,uwsgi_pass等指令引用的后端服务器分组 ngx_stream_proxy_module#将客户端的请求以tcp协议转发至指定服务器处理 ngx_http_fastcgi_module#将客户端对php的请求以fastcgi协议转发至指定服务器助理 ngx_http_uwsgi_module #将客户端对Python的请求以uwsgi协议转发至指定服务器处理 正向代理:代理的是客户端 去访问 服务器 反向代理: 代理的是服务端 实现 http 反向代理 官方文档 https://nginx.org/en/docs/http/ngx_http_proxy_module.html 同构代理 、异构代理 同构代理客户端——代理服务器——后端服务器均为同一种软件程序 异构代理客户端——代理服务器——后端服务器为不同软件程序。 同构代理客户到至代理端和代理端至服务端使用请求协议一致异构代理客户到至代理端和代理端至服务端使用请求协议不一致 ①http 协议反向代理      ②反向代理配置参数   #官方文档https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass proxy_pass; #用来设置将客户端请求转发给的后端服务器的主机可以是主机名(将转发至后端服务做为主机头首部)、IP 地址端口的方式 #也可以代理到预先设置的主机群组需要模块ngx_http_upstream_module支持#示例: 10.0.0.8/weblocation /web {index index.html;proxy_pass http://10.0.0.18:8080; #8080后面无uri,即无 / 符号,需要将location后面url 附加到proxy_pass指定的url后面,此行为类似于root #proxy_pass指定的uri不带斜线将访问的/web,等于访问后端服务器 http://10.0.0.18:8080/web/index.html即后端服务器配置的站点根目录要有web目录才可以被访问# http://nginx/web/index.html http://10.0.0.18:8080/web/index.htmlproxy_pass http://10.0.0.18:8080/;   #8080后面有uri,即有 / 符号,相当于置换,即访问/web时实际返回proxy_pass后面uri内容.此行为类似于alias #proxy_pass指定的uri带斜线等于访问后端服务器的http://10.0.0.18:8080/index.html 内容返回给客户端}  # http://nginx/web/index.html http://10.0.0.18:8080#重启Nginx测试访问效果 #curl -L http://www.kgc.org/web#如果location定义其uri时使用了正则表达式模式(包括~,~*,但不包括^~)则proxy_pass之后必须不能使用uri; 即不能有/ ,用户请求时传递的uri将直接附加至后端服务器之后 server {...server_name HOSTNAME;location ~|~* /uri/ {proxy_pass http://host:port; #proxy_pass后面的url 不能加/}...}http://HOSTNAME/uri/ -- http://host/uri/proxy_hide_header field; #用于nginx作为反向代理的时候在返回给客户端http响应时隐藏后端服务器相应头部的信息可以设置 在http,server或location块 #示例: 隐藏后端服务器ETag首部字段location /web {index index.html;proxy_pass http://10.0.0.18:8080/; proxy_hide_header ETag;}proxy_pass_header field; #默认nginx在响应报文中不传递后端服务器的首部字段Date, Server, X-Pad, X-Accel等参数如果 要传递的话则要使用 proxy_pass_header field声明将后端服务器返回的值传递给客户端 #field 首部字段大小不敏感 #示例:透传后端服务器的Server和Date首部给客户端,同时不再响应报中显示前端服务器的Server字段 proxy_pass_header Server; proxy_pass_header Date;proxy_pass_request_body on | off; #是否向后端服务器发送HTTP实体部分,可以设置在http,server或location块默认即为开启proxy_pass_request_headers on | off; #是否将客户端的请求头部转发给后端服务器可以设置在http,server或location块默认即为开启 ③反向代理单台web 服务器 实验拓朴图 实验1访问本机192.168.246.7等于去访问192.168.246.8    把7-1做代理服务器 location / {proxy_pass http://192.168.246.8;} 1代理服务器配置文件 访问本机的根等于访问指定地址192.168.246.8 2客户端开启httpd服务 html body h1this is yun /h1 img srchttp://www.lucky.com/a.jpg/ /body /html 3客户端访问代理服务器  检测 可以再看下自己的 实验2可以把端口也加入 7-1修改配置文件 7-2修改端口 再去检测: proxy_pass;  #用来设置将客户端请求转发给的后端服务器的主机可以是主机名(将转发至后端服务做为主机头首部)、IP 地址端口的方式 #也可以代理到预先设置的主机群组需要模块ngx_http_upstream_module支持 实验3在真实服务器上 做防火墙规则 iptables -A INPUT  -s 192.168.91.100 -j DROP 在真实服务器上 做防火墙规则 iptables -A INPUT -s 192.168.91.100 -j DROP 客户端再次访问 会出现504网关超时有可能只是处理时间久服务器不一定挂了时间较长1分钟没有定义代理超时时间iptables -A INPUT -s 192.168.91.100 -j REJECT 客户端再次访问 会出现502一般出现502 代表后端真实服务器挂了 实验拓朴图 [rootzzzcentos2 html]#iptables -A INPUT -s 192.168.246.7 -j DROP [rootzzzcentos2 html]#iptables -vnL ① 服务端7-2添加防火墙规则 ② 客户端访问代理服务器192.168.246.7 去浏览器看 实验4iptables -R INPUT 1  -s 192.168.246.7 -j REJECT ①在7-2真实服务器做防火墙规则 ②7-1代理服务器 ③去浏览器检测 服务器缓存也可以清理下 状态码502网关不可达真实服务器坏了               504网关超时代理服务器与真实服务器之间有问题 实验5配置文件不加 /  去7-1服务器配置 去7-2真实服务器配置 不加/就是访问/192.168.246.8/api/的内容 整体看下 访问192.168.246.7/api 就等于访问192.168.246.8/api 把api追加到192.168.246.8后面了 加 /    表示替换 写配置文件 去7-2检测 总体看下 总结加/ 替换   不加/ 追加 补充  /api 匹配可能选择型太多不允许替换只能追加一般不加/ ④指定location 实现反向代理 、实现动静分离 实验拓朴图 location ~* /api {proxy_pass http://192.168.246.8;}location ~* \.(jpg|png|html|gif|txt|mp4)$ {proxy_pass http://192.168.246.9;} } 实验 ①代理服务器配置文件 7-1代理服务器配置 ②两台服务器分别开启httpd服务新建对应web文件 7-2服务器配置 7-3服务器配置 [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#yum install httpd -y [rootlocalhost ~]#rpm -q httpd httpd-2.4.6-99.el7.centos.1.x86_64 [rootlocalhost ~]#systemctl start httpd [rootlocalhost ~]#cd /var/www/html/ [rootlocalhost html]#echo jingtai 7-3 index.html [rootlocalhost html]#cat index.html jingtai 7-3 [rootlocalhost html]#hostnamectl set-hostname zzzcentos3 #修改主机名 好区分 [rootlocalhost html]#su [rootzzzcentos3 html]# 检测直接7-1也可以检测 在浏览器检测也可以 实验结束 也可以放入一张图片 源代码与服务器代码一样静态资源 源代码与服务器代码不一样动态资源
http://www.hkea.cn/news/14277625/

相关文章:

  • 网站建设模板哪里下载营销软文案例
  • 南通网站建设外包wordpress root权限
  • 学做面包到什么网站植物设计网站推荐
  • 网站更改wordpress更新删除
  • 大型网站建设动力无限山东省建设厅举报网站
  • swoole做网站公众号做微网站吗
  • 建筑网站图片godaddy wordpress迁移
  • PPT做音乐网站介绍网站开发都用什么数据库
  • 甘肃做网站多少钱wordpress图片备用地址
  • 网页制作企业网站作业网上设计接单的网站
  • 建设网站联盟c2c网站有哪些
  • 芜湖网站建设优化库尔勒谁在做电商网站建设
  • 河南网站建设推广公司荣成网站建设
  • 易网官方网站南通门户网站建设
  • 南京市建设工程网站南宁定制网站建设
  • 平阳县住房和城乡规划建设局网站如何用网站做淘宝客
  • 洞泾做网站公司网站pv是什么
  • 360免费建站 服务期班级网页模板
  • 哪里有门户网站开发.net 开源 企业网站
  • 江苏住房和城乡建设网站做网站用哪个开发工具好
  • 简述企业网站如何推广wordpress采集功能
  • 网站icp没有备案怎么检查六安人论坛最新招聘
  • 网上服务旗舰店东昌府聊城网站优化
  • 网站建设的基本内容外贸模版网站
  • icp备案后要建网站吗正规网站有哪些
  • 自适应型网站建设服务电话折腾wordpress
  • WordPress网站接入公众号杭州优化公司哪家好
  • 网站开发用户需求说明书定西网站建设公司排名照片
  • 基于jsp的网站开发的文献做网站的学什么代码
  • 佛山做网站3000开o2o网站需要什么手续