nginx前后端分离、多前端部署配置文件

本文涉及的产品
.cn 域名,1个 12个月
简介: nginx前后端分离、多前端部署配置文件
 
#user  nobody;
worker_processes 1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
events {
    worker_connections 1024;
}
 
 
http {
    include mime.types;
    default_type application/octet-stream;
    underscores_in_headers on; #nginx消除header 里-的问题
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
    #gzip_static开启 默认加载gzip结尾的文件
    gzip on;
    gzip_static on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/javascript application/x-javascript
    text/javascript text/css application/xml;
    gzip_vary on;
    gzip_proxied expired no-cache no-store private auth;
    gzip_disable "MSIE [1-6]\.";
 
    #access_log  logs/access.log  main;
 
    sendfile on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout 65;
 
    #gzip  on;
 
    server {
        listen 80;
        server_name localhost;
        rewrite ^(.*)$ https://$host$1 permanent; #把http的域名请求转成https
    }
 
    # HTTPS server
 
    server {
        listen 443 ssl;
        server_name wwww.xxxxx.com;
 
        ssl_certificate /usr/local/nginxj/a.pem;
        ssl_certificate_key /usr/local/b.key;
 
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
 
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
 
        location /api/ {
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain; charset=utf-8';
                add_header 'Content-Length' 0;
                return 204;
            }
            if ($request_method = 'POST') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
                add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
            }
            if ($request_method = 'GET') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
                add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
            }
            rewrite "^/api/(.*)$" /$1 break;
            proxy_pass http://localhost:8080/;
        }
 
 
        location /admin {
            # alias结尾记得添加/
            alias /usr/local/xxx/admin/;
            index index.html index.htm;
            if (!-e $request_filename) {
                # 此处是重点,如果有配置根域名,且前端未做跳转配置,则下方rewrite也需要携带根域名 否则会出现刷新404
                rewrite ^/(.*) /admin/index.html last;
                break;
            }
        }
 
        location / {
            add_header Cache-Control no-store;
 
            alias /usr/local/xxx/front/;
 
            index index.html index.htm;
            if (!-e $request_filename) {
                # 此处是重点,如果有配置根域名,且前端未做跳转配置,则下方rewrite也需要携带根域名 否则会出现刷新404
                rewrite ^/(.*) /index.html last;
                break;
            }
        }
        location /wb_df9ff20ea541968f.txt {
            root /usr/local/xxx/;
        }
        location /MP_verify_u3ohQNDHVylfuKHB.txt {
            root /usr/local/xxx/;
        }
        location /apple-app-site-association {
            include mime.types;
            default_type application/json;
            root /usr/local/xxx/;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
}
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
2天前
|
应用服务中间件 nginx 数据安全/隐私保护
cloudstack使用nginx部署ui
cloudstack使用nginx部署ui
10 1
|
11天前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
31 1
|
1天前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
1天前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
1天前
|
关系型数据库 应用服务中间件 nginx
Docker + node(koa) + nginx + mysql 线上环境部署
Docker + node(koa) + nginx + mysql 线上环境部署
|
1天前
|
前端开发 安全 NoSQL
技术笔记:Security前端页面配置
技术笔记:Security前端页面配置
|
25天前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
29 2
|
1月前
|
存储 前端开发 JavaScript
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
52 1
|
1月前
|
移动开发 前端开发 JavaScript
10款精美的web前端源码的特效,2024年最新面试题+笔记+项目实战
10款精美的web前端源码的特效,2024年最新面试题+笔记+项目实战
|
1月前
|
前端开发 容器
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
40 2