IIS7.0设置404错误页,返回500状态码

一般在II6下,设置自定义404错误页时,只需要在错误页中选择自定义的页面,做自己的404页面即可。但是在IIS7.0及以上时,设置完404错误页后,会发现状态码返回的是500,并且可能会引起页面乱码。查找资料,发现好多资料写的不够详细,不能完美解决问题。特将我的经验分享一下,希望能帮助到大家。 经过试验,发现有两种方案可用,各有利弊,我使用的是第二种方案。   方案1:   1. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”; 2. 双击“404”,打开“编辑自定义错误页”对话框; 3. 选中“在此网站上执行URL”,输入自定义404错误页的URL(注意:此处URL是相对于网站根目录的相对路径,不能使用绝对路径),点击“确定”进行保存; 4. 选中“404”,点击右侧栏中的“编辑功能设置”,打开“编辑自定义错误页”对话框; 5. 在“错误响应”框中,选中“自定义错误页”,点击“确定”进行保存; 6. 重启IIS。 优缺点:此种方法优点是设置方便,不需要改动代码,只需要修改参数即可;但缺点是按照此种方法设置之后,服务器404错误时,会直接将自定义页面给返回给客户 […]

点击劫持漏洞:使用X-Frame-Options 解决方法(应用tomcat)

发现项目中存在 X-Frame-Options 低危漏洞: 使用 X-Frame-Options X-Frame-Options 有三个值: DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。 SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。 ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。   换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。 另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。   配置 Apache 配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

  配置 nginx 配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http&apo […]

upstream timed out

报错信息:

  解决办法: server { listen       80; server_name  *.xywy.com ;         large_client_header_buffers 4 16k; #客户请求头缓冲大小 nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取如果设置过小HTTP头/Cookie过大 会报400 错误 nginx 400 bad request求行如果超过buffer,就会报HTTP 414错误(URI Too Long)nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报400的HTTP错误(Bad Request)。         client_max_body_size 300m; #指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段. 如果请求大于 […]

nginx 优化(突破十万并发)

一般来说nginx 配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一 个进程分配到多个cpu。 worker_rlimit_nofile 102400; 这个指令是指当一个nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 use epoll; 使用epoll 的I/O 模型 worker_connections 102400; 每个进程允许的最多连接数, 理论上每台nginx 服务器的最大连接数为worker_processes*worker_connections。 k […]

使用NGINX+Openresty实现WAF功能

使用NGINX+Openresty实现WAF功能 一、了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用 防火墙 是通过执行一系列针对HTTP/HTTPS的 安全策略 来专门为Web应用提供保护的一款产品。 1.2 WAF的功能 支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝。 支持URL白名单,将不需要过滤的URL进行定义。 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)。 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403。 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)。 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。 支持URL参数过滤,原理同上。 支持日志记录,将所有拒绝的操作,记录到日志中去 1.3 WAF的特点 异常检测协议 Web应用防火墙会对HTTP的请求进行异常检测,拒绝不符合HTTP标准的请求 […]

使用nginx-http-concat优化网站响应

前言: 我们在访问淘宝的时候,会看到代码中的js和css文件是通过一次请求或得的,我们知道浏览器一次请求只能并发访问数个资源,这样的处理错输在网络传输层面可以大大节省时间,这里使用的技术就是把css、js等静态资源合并为一个资源。淘宝使用的tengine是基于nginx的web服务器,从11年底开源。所使用的是mod_concat模块,合并多个文件在一个响应报文中。 http1.1下浏览器的并发访问资源数 IE6                                 2 IE7                                 2 IE8                                 6 Firefox2                          2 Firefox3                          6 Safari 3,4                       4 Chrome 1,2                    6 Opera 9.63,10.00alpha    4   一、 CENTO […]

重启IIS某个站点脚本

修改siteName为需要的重启的网站名字,将代码拷入bat文件 @echo off cd  c:\Windows\System32\inetsrv appcmd stop  site  "siteName" appcmd start  site  "siteName"   from:https://blog.csdn.net/a980433875/article/details/52088252

Centos7下nginx配置https

Centos7下nginx配置https 在互联网信息安全日益重要的今天,https协议几乎成了标配,部分浏览器如果遇到非https的服务器会拒绝访问,有的平台也要求app的服务器要用https协议(如苹果、微信小程序)。 下面是个人配置https的笔记,先完整记录下来,不然到时遇到问题又各种百度。 一、步骤1 配置nginx 假如你已经申请到了https证书,而且有nginx下的版本,通常是两个文件,一个是 .key 后缀的文件,为证书的私钥,另一个是 .crt 后缀的文件,为证书的公钥。 nginx.conf 配置如下:

  把#1所在行的 www.sever.com 改成你的域名(注意:这个域名是你申请证书时用的域名)。 把#2所在行的 ssl/bundle.crt* 改成你实际文件的路径,如果是相对路径,那么是相对于nginx的conf目录的路径。 把#3所在行的 ssl/cert.key* 改成你实际文件的路径,如果是相对路径,那么是相对于nginx的conf目录的路径。 如果要让用户用http协议访 […]

nginx强制使用https访问(http跳转到https)

原文:http://blog.csdn.net/wzy_1988/article/details/8549290   需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转 我总结了三种方式,跟大家共享一下     nginx的rewrite方法   思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可 配置   server {     listen  192.168.1.111:80;     server_name test.com;     rewrite ^(.*)$  https://$host$1 permanent; } 搭建此虚拟主机完成后,就可以将http://test.com的请求全部重写到https://test.com上了 nginx的497状态码   e […]

IIS 10 HTTP 跳转HTTPS

上环境:windows server 2016 IIS 10 需求:访问HTTP 跳转到HTTPS 软件:http://download.microsoft.com/download/E/A/9/EA9F19BC-0EEB-49C9-B32D-56852BBE56DA/rewrite_amd64_zh-CN.msi 配置如下: 1.选择需要配置的站点,先绑定域名http 跟https 域名: 2.打开URL 重写添加规则:   3.编辑规则:         以上配置完成,便可以测试域名,自动跳转;   from:https://www.cnblogs.com/itusye/p/7927787.html

从一份配置清单详解Nginx服务器配置

概述 在前面《Nginx服务器开箱体验》 一文中我们从开箱到体验,感受了一下Nginx服务器的魅力。Nginx是轻量级的高性能Web服务器,提供了诸如HTTP代理和反向代理、负载均衡、缓存等一系列重要特性,因而在实践之中使用广泛,笔者也在学习和实践之中。 在本文中,我们继续延续前文,从前文给出的一份示例配置清单开始,详解一下Nginx服务器的各种配置指令的作用和用法。 看到了下文中的包含了**“小猪佩琪色”** 的配图了吗,嘿嘿,我们开始吧! Nginx配置文件的整体结构 从图中可以看出主要包含以下几大部分内容: 1. 全局块 该部分配置主要影响Nginx全局,通常包括下面几个部分: 配置运行Nginx服务器用户(组) worker process数 Nginx进程PID存放路径 错误日志的存放路径 配置文件的引入 2. events块 该部分配置主要影响Nginx服务器与用户的网络连接,主要包括: 设置网络连接的序列化 是否允许同时接收多个网络连接 事件驱动模型的选择 最大连接数的配置 3. http块 定义MIMI-Type 自定义服务日志 允许sendfile方式传输文件 连接超 […]

构造HTTP请求Header实现“伪造来源IP”

在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无法实现正常的通信。这就像我们给对方写信时,如果写出错误的发信人地址,而收信人按信封上的发信人地址回信时,原发信人是无法收到回信的。 一些DDoS 攻击,如 SYN flood,  就是利用了 TCP/ip 的此缺陷而实现攻击的。《计算机网络》教材一书上,对这种行为定义为“发射出去就不管”。 因此,本文标题中的伪造来源IP 是带引号的。并非是所有 HTTP 应用程序中存在此漏洞。 那么在HTTP 中, " 伪造来源 IP",  又是如何造成的?如何防御之? 在理解这个原理之前,读者有必要对HTTP 协议有所了解。 HTTP 是一个应用层协议,基于请求 / 响应模型。客户端(往往是浏览器)请求与服务器端响应一一对应。 请求信息由请求头和请求正文构成(在GET 请求时,可视请求正文为空)。请求头类似我们写信时信封上的基本信息,对于描述本次请求的一些双方约定。而请求正文就类似于 […]