码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx问题记录(持续更新)

时间:2020-05-22 18:53:32      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:max-age   get   content   requested   odi   rev   val   gen   method   

为记录遇到的Nginx问题:

1、nginx转发到其他地址,因为server层默认配置的proxy_set_header Host $host;
需要在location层配置proxy_set_header Host $proxy_host;


location /xxx/ {
proxy_pass http://www.baidu.com/;
proxy_set_header Host $proxy_host;
}

2、nginx图片跨域问题

##在location配置

location /xxx/ {
proxy_pass http://xxx:80/;

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods ‘GET, POST, OPTIONS‘;
add_header Access-Control-Allow-Headers ‘DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization‘;
if ($request_method = ‘OPTIONS‘) {
return 204;
}
}

*3、图片跨域问题解决带cookie,主要1、add_header Access-Control-Allow-Origin不能用
主要2、add_header Access-Control-Allow-Credentials true;**

location /file/ {
proxy_pass http://xxxx:80/;
#指定允许跨域的方法,*代表所有
add_header Access-Control-Allow-Methods *;
#预检命令的缓存,如果不缓存每次会发送两次请求
add_header Access-Control-Max-Age 3600;
#带cookie请求需要加上这个字段,并设置为true
add_header Access-Control-Allow-Credentials true;
#表示允许这个域跨域调用(客户端发送请求的域名和端口)
#$http_origin动态获取请求客户端请求的域 不用*的原因是带cookie的请求不支持*号
add_header Access-Control-Allow-Origin $http_origin;
#表示请求头的字段 动态获取
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
#OPTIONS预检命令,预检命令通过时才发送请求
#检查请求的类型是不是预检命令
if ($request_method = OPTIONS){
return 204;
}
}

**4、前端默认跳转到index.html,需要在应用所在的nginx修改,
不能在(暂时没发现怎么处理)nginx转发处理即:不能在以下修改***

location /yytour/ {
proxy_pass http://xxxxxx:80/;
}

location ^~ /yytour/admin/ {
root /usr/share/nginx/html;
try_files $uri $uri/ /yytour/admin/index.html;
}

5、nginx转发配置缓存

location /xxxxx/ {
proxy_pass http://xxxxxx:80/;
if ($request_filename ~* ^.*?\.(htm|html)$){
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
expires -1;
}
if ($request_filename ~* ^.*?\.(gif|jpg|jpeg|png|bmp|swf)$){
expires 30d;
}
if ($request_filename ~* ^.*?\.(js|css)$){
expires 12h;
}
}

Nginx问题记录(持续更新)

标签:max-age   get   content   requested   odi   rev   val   gen   method   

原文地址:https://blog.51cto.com/bilibili/2497572

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!