美文网首页
2019-01-18

2019-01-18

作者: 鬼测 | 来源:发表于2019-01-18 12:25 被阅读0次

    nginx的基本配置和SSL的http跳转https基本配置

    在nginx中的nginx.conf下配置

    http {

    ......

    #这里为http请求动态服务配置

    server {                                                           #nginx中web服务配置必须内容

            listen      80;                                            #nginx进入的端口默认80

            server_name ***.***.com;                        #关联的网址,该网址必须在解析中指向当前nginx服务器的IP地址

            location / {                                                #这里的斜杠指向的是网址后不添加路由的基本跳转

                    root /*****/;                                        #这里是动态服务的文件位置

                    index Login.jsp;                                #nginx起始跳转指向

                    proxy_pass http://localhost:8081/ ;   #这里是动态服务的本地端口指向,如果不写则为静态指向

            }

        }

    ###################################### http跳转SSL基本配置#############################################

    server {                                                                    

            listen      80;                                                    

            server_name www.*****.***;

            if ($scheme = http ) {                                        #这里是判定请求是否为http类型

                    return 301 https://$host$request_uri;        #这里根据301返回跳转至https,$host为请求的网址,$request_url为请求的参数内容

            }

            error_page  500 502 503 504  /50x.html;           #错误处理 error_page报错类型指定  500 502等报错处理,斜杠后html是报错后跳转页面名

            location = /50x.html {                                         #基本路由跳转指向

                root  html;                                                       #跳转页面所在位置

            }

        }

    server {                                                                        #SSL服务配置

            listen 443;                                                            #443默认安全端口

            server_name ***.****.***;                                     #网址

            ssl on;                                                                 #SSL 开启

            root html;                                                            #根路径指向

            index index.html index.htm; 

            ssl_certificate  cert/****************.pem;            #SSL密钥

            ssl_certificate_key  cert/**************.key;        #SSL键 这两个都是可以申请的,自建文件可能出现谷歌浏览器不识别警告提醒

            ssl_session_timeout 5m;                                  #会话时间设定

            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密方式

            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;            #SSL版本 1.3版本与1.2版本差别在多个加载时有区分

            ssl_prefer_server_ciphers on;                           #优先使用服务端加密  off则是使用客户端加密        

            gzip on;                                                               #gzip压缩开启

            gzip_min_length  5k;                                           #最小

            gzip_buffers    4 16k;                                           #缓存

            gzip_http_version 1.0;                                         #版本

            gzip_comp_level 5;                                              #压缩级别 共9级(太大会后悔的)

            gzip_types application/javascript text/plain application/x-javascript text/css application/xml text/javascript application/x

    -httpd-php image/jpeg image/gif image/png;                #允许压缩的类型

            gzip_vary on;                                                        #根据客户端的HTTP头来判断,是否需要压缩,用于区分浏览器支持压缩否

            #这里的try_files 主要用于单页面多路由跳转的项目使用

            location / {                                                            #SSL中的网址根路径指向  静态网页

                    root /****/**********;                             

                    try_files $uri $uri/ @router;                           #读取静态文件 与rewrite区别是高效率,不需要重载的就不执行  @router自定义

                    #$uri 是请求文件的路径   $uri/ 事请求目录的路径  与$request_uri区别为不带参数 就是问号后内容

                    index index.html;

                    if ( $query_string ~ "view=string" ) {            # $query_string正则 与$args相同  ~后为正则条件

                            rewrite ^/index.html https://***.*****.com/index.html? permanent;  #重定向跳转指定页面   permanent参数内容

                    }

            }

            location @router {                                #自定义校验

                    rewrite ^.*$ /index.html last;

            }

            #SSL中自定义路由指向动态服务

            location /name/ {                        #自定义路由指向名

                    root  /*****/******/name/;    #文件路径中包涵指向路由名的文件夹

                    index index.jsp;        

                    add_header Access-Control-Allow-Credentials: true;                            #head添加跨域请求处理

                    add_header Access-Control-Allow-Origin: '*';                                        #跨域请求网址名 通用为* 可指向指定网址名

                    add_header Access-Control-Allow-Headers X-Requested-With;           #跨域处理AJAX请求处理 如果没有可能会导致AJAX请求302错误

                    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;    #跨域请求处理 这里会导致跨域请求多OPTIONS请求  必填

                    client_max_body_size      16m;

                    client_body_buffer_size  128k;

                    proxy_pass                http://localhost:9090/;

                    proxy_set_header          Host $host;

                    proxy_set_header          X-Real-IP $remote_addr;

                    proxy_set_header          X-Forwarded-For $proxy_add_x_forwarded_for;

                    proxy_set_header          X-Forwarded-Proto https;

                    proxy_next_upstream      off;

                    proxy_connect_timeout    30;

                    proxy_read_timeout        300;

                    proxy_send_timeout        300;

            }

    }

    相关文章

      网友评论

          本文标题:2019-01-18

          本文链接:https://www.haomeiwen.com/subject/suagdqtx.html