nginx配置跨域、gzip加速、代理详细讲解

1、配置跨域

这个很简单,直接打开配置nginx.conf ,在http下配置下面三行代码;当然如果你是想某一个虚拟主机下跨域,那就在哪个server下面添加

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

2、配置gzip,压缩访问的js、css 、图片,提高网站访问速度

gzip on;                      #开启Gzip
gzip_min_length  1k;          #大于1K的才压缩
gzip_buffers     4 16k;       #以16k为单位,按照原始数据大小以16k为单位的4倍申请内
gzip_comp_level  2;            #压缩级别,1-10,数字越大压缩的越好,时间也越长
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; #压缩的文件类型
gzip_vary on;                 #启用应答头"Vary: Accept-Encoding"
gzip_proxied   expired no-cache no-store private auth; #Nginx作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用gzip压缩,是否压缩取决于请求头中的“Via”字段
gzip_disable   "MSIE [1-6]\.";#IE1-6不压缩

3、代理配置

server{
	listen 80;                       #监听端口
	listen 443 ssl;                  #如果是https 访问 开启证书验证
	server_name www.test.cn test.cn; #域名,多个域名空格分开
	ssl_certificate /usr/local/nginx/conf/cert/test.cn.crt;
	ssl_certificate_key /usr/local/nginx/conf/cert/test.cn.key;
	location / {
		proxy_pass http://168.102.45.111/; #代理转发的地址
	}
}

配置好后,重启nginx ,然后访问 https://www.test.cn/login/index.html   就等于 直接 访问  http://168.102.45.11/login/index.html  ;但是浏览器显示的地址还是https://www.test.cn域名的,这就有点类似框架,看到的未必是真的。做代理可以防止流量攻击。

4、server_name 匹配优先级

(1)完全匹配

(2)通配符在前的,如*.test.com

(3)在后的,如www.test.*

(4)正则匹配,如~^\.www\.test\.com$

如果都不匹配

(5)优先选择listen配置项后有default或default_server的

(6)找到匹配listen端口的第一个server块

原文地址:https://www.cnblogs.com/myIvan/p/10291264.html

时间: 2024-11-05 18:57:35

nginx配置跨域、gzip加速、代理详细讲解的相关文章

nginx配置跨域访问

前端要在本地测试ajax接口,无法跨域访问,所以在测试环境的nginx配置了跨域支持,方法如下: 在nginx.conf文件, http块下配置 42 #support cross domain access 43 add_header Access-Control-Allow-Origin *; 44 add_header Access-Control-Allow-Headers X-Requested-With; 45 add_header Access-Control-Allow-Meth

Nginx配置跨域请求 Access-Control-Allow-Origin *

当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数: 一. 解决方案 只需要在Nginx的配置文件中配置以下参数: location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, P

Nginx 配置跨域权限

今天设置静态资源服务器时发现 Font from origin 'http://start.fbzl.org' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://lib.fbzl.org' is therefore not

nginx配置跨域

location / { if ($request_method = 'OPTIONS') {add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;## Custom headers and headers various browsers *should* be OK with but aren't#add

让Apache 和nginx支持跨域訪问

1,怎样让Apache支持跨域訪问呢? 步骤: 改动httpd.conf,windows中相应的文件夹是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的凝视删除 改动 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-Al

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

让Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-All

Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改  改为:  即: <Directory />    AllowOverride none    Require all granted    Header set Access-

win2003 配置跨域邮件服务器

win2003 配置跨域邮件服务器