目录:

  1. nginx官网及版本nginx: download
  2. nginx笔记:Nginx笔记
  3. linux下安装nginx:安装前先看注意
    1. 在linux系统下安装两个nginx以及启动、停止、重起:在linux系统下安装两个nginx以及启动、停止、重起 - 韦邦杠 - 博客园
    2. 方式一:指定版本安装: Linux安装nginx - star-xin - 博客园
    3. 方式二:yum不指定版本安装(简单,推荐):Linux(CentOS)安装Nginx图文详解_喵了个咪哟的博客-CSDN博客
    4. 注意:遇到的问题
      1. 方式一安装
        1.在安装完后安装目录下没有sbin目录,找了好一会都没有解决这个问题
        2.如果需要支持ssl,也就是https,需要在这一步时如此:
        ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
      2. 方式二安装
        1.虽然装成功了,但都不知道装到哪个目录去了,无法配置
        于是就找了些常用的目录都没发现nginx
        然后就想到启动服务的目录的启动文件肯定记录了配置信息
        于是打开果然看到里面有安装的信息
        # sbin/nginx: /sbin/nginx 启动目录
        # config: /etc/nginx/nginx.conf     安装目录
        # config: /etc/sysconfig/nginx
        # pidfile: /var/run/nginx.pid
        日志文件在var/log/nginx
  4. linux下启动、停止、重启nginx:Linux环境下启动、停止、重启nginx - Mr_伍先生 - 博客园
  5. 启动
    第一种方式:
    #启动
    ./nginx
    #重启服务
    ./nginx -s reload
    #停止服务
    ./nginx -s stop
    #测试配置文件
    ./nginx -t
    #平滑启动
    kill -HUP [Nginx主进程号(即ps命令查到的PID)]
    
    第二种方式:
    systemctl start nginx        //启动Nginx
    systemctl enable nginx       //设置开机自启
    systemctl status nginx       //查看Nginx状态
    
    第三种方式:
    service nginx start
    service nginx stop
    service nginx restart
    
    注意:如果修改了配置文件,推荐使用第一种方式重新加载配置文件:/nginx -s reload,好处是如果配置文件格式错误,此种方式会提示错误,并继续以之前的配置文件运行,而不会采用新的配置文件导致项目无法访问。
    如果采用第二种或者第三者方式先停止服务,再启动服务的方式,如果配置文件错误了,会造成nginx无法启动,导致项目无法访问。
  6. Nginx一个端口代理多个server的注意事项:Nginx一个端口代理多个server的注意事项 - 何为实施 - 博客园
    使用nginx代理时,可使用一个监听端口,然后再结合端口后的路径对多个server进行代理,如下图所示:

  7. nginx监听多个端口,同时监听80、8080端口


  8. nginx配置:server_name的作用
    1. 在开始学nginx的时候server_name明明没有匹配上,但竟然访问到了,还以为server_name不起作用,后来发现server_name的匹配规则是:先遍历所有配置的server_name,如果找到了,则执行对应的server,如果没有找到,则默认执行第一个server。
      原文链接:https://blog.csdn.net/shidebin/article/details/86510937
    2. nginx 中通过server_name listen的方式监听一个端口,多个域名nginx配置:server_name的作用_石猴M的博客-CSDN博客_nginx server_name使用
  9. 解决跨域:
    1. 关于跨域:一文搞懂跨域的所有问题 - 简书
    2. Access-Control-Allow-Origin,跨域:没错,就是Access-Control-Allow-Origin,跨域 - 简书
    3. 方法一:在 ng­inx 配置文件中添加:
      详解:Nginx配置跨域请求 Access-Control-Allow-Origin *_全栈Developer的博客-CSDN博客_nginx 配置origin
      全站:
      add_header Access-Control-Allow-Origin *;
      匹配目录:
      location / {
          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';
      }
    4. 方法二:如何使用nginx解决跨域问题?
      如何用Nginx解决前端跨域问题?https://www.cnblogs.com/lovesong/p/10269793.html
  10. location除了通用匹配,还支持正则匹配:一文理清nginx中的location配置(系列一) - 知乎
  11. 在转发的时候,需要携带ip等信息一并转过去
    通过nginx代理的后端,获取客户端的真实ip地址:👻 通过nginx代理的后端,获取客户端的真实ip地址 - 简书
            location / {
                proxy_pass http://127.0.0.1:8080;
                proxy_set_header X_Real_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
            }
  12. 泛域名证书,就是说为二级域名购买了ssl证书,那么二级域名下的三级域名都可以用二级域名证书,也就是使用https,SSL 证书 泛域名 SSL 证书相关问题-常见问题-文档中心-腾讯云-腾讯云
  13. 使用https://freessl.cn/ 免费申请证书
    注意:然而配置好之后,发现还是无法使用https,还是443端口无法访问到,一直怀疑是配置不对,一顿鼓捣,很无语,然后到服务器控制台发现443端口、80端口没有开启,需要备案
  14. ssl配置nginx实现httpsnginx实现https网站设置 - 静小妞 - 博客园
    server {
        listen                      443 ssl;    #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
        
        server_name                 some.test.com;
        
        ssl_certificate             /ssl_certs/file_some.test.com.pem;  # 指定证书的位置,绝对路径
        ssl_certificate_key         /ssl_certs/file_some.test.com.key;  # 绝对路径,同上
        ssl_session_timeout         5m;
        ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
        ssl_prefer_server_ciphers   on;
    
        location / {
            proxy_pass http://10.0.0.10:8000;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_connect_timeout       600;
            proxy_send_timeout          600;
            proxy_read_timeout          600;
            send_timeout                600;
        }
    }
  15. nginx一个server配置多域名多ssl证书nginx一个server配置多域名多ssl证书_碻(que)的博客-CSDN博客_nginx配置多个ssl证书
  16.  nginx location末尾带不带斜杠的区别、proxy_pass末尾带斜杠/和不带的区别
    nginx location中斜线的位置的区别 - zhao1949 - 博客园
    Nginx中proxy_pass末尾带斜杠/和不带的区别_lihefei_coder的博客-CSDN博客   
    总结:proxy_pass带/不拼接location,不带/拼接location;而location推荐带/
    nginx配置反向代理 proxy_pass URL末尾加与不加/(斜杠)的区别_willingtolove的博客-CSDN博客_nginx配置加不加斜杠​​​​​​
  17. nginx location末尾带不带斜杠的区别、proxy_pass末尾带斜杠/和不带的区别
    有两个需求,能实现就ok了
    第一种:
    访问:
    https://ip:80/app1/listUser
    https://ip:80/app1/addUser
    https://ip:80/app1/updateUser
    https://ip:80/app1/deleteUser
    能跳转到:
    https://ip:8080/api/app1/listUser
    https://ip:8080/api/app1/addUser
    https://ip:8080/api/app1/updateUser
    https://ip:8080/api/app1/deleteUser
    server {
            listen       80;
            server_name  localhost;
            location /app1 {
                proxy_pass https://ip:8080/api;
            }
    }
    或者(推荐)
    server {
            listen       80;
            server_name  localhost;
            location /app1/ {
                proxy_pass https://ip:8080/api/app1/;
            }
    }
    第二种:
    访问:
    https://ip:80/app1/listUser
    https://ip:80/app1/addUser
    https://ip:80/app1/updateUser
    https://ip:80/app1/deleteUser
    能跳转到:
    https://ip:8080/api/app1/pro/listUser
    https://ip:8080/api/app1/pro/addUser
    https://ip:8080/api/app1/pro/updateUser
    https://ip:8080/api/app1/pro/deleteUser
    server {
            listen       80;
            server_name  localhost;
            location /app1/ {
                proxy_pass https://ip:8080/api/app1/pro/;
            }
    }
  18. 拆分 nginx 配置文件 nginx.conf 的 server, 放到自定义位置,以及日志也按server拆分
    生产环境都是如此
    第一步:修改后 nginx.conf(只要改 server 内容为 include /etc/nginx/conf.d/*.conf;)
    #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;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
        include /etc/nginx/conf.d/*.conf;#加载/etc/nginx/conf.d/路径下所有后缀名为conf的文件,也可以自定义指向其他位置
    }
    第二步:在/etc/nginx/conf.d/(include 指向的路径)下新建 xxx.conf,(xxx 一般命名为二级域名),可创建多个
    upstream backend_test-gate {
        server 172.24.199.101:8090;
    }
    
    server {
        index  index.html index.htm index.jsp;
        listen  80;
        server_name   xxx域名;
        return 301 https://$server_name$request_uri;
    }
    
    
    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  xxx域名;
    
        ssl_certificate /etc/nginx/ssl/xxx域名.crt;
        ssl_certificate_key /etc/nginx/ssl/xxx域名.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
    
    
        location / {
            proxy_pass http://backend_test-gate;
    
            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  $scheme;
        }
    
    
        #error_log  /var/log/nginx/debug.log  debug;
        access_log /var/log/nginx/test-gate.access.log main;
    }
    
  19. Nginx日志切割
    ## 创建按天日志切割目录
    mkdir /etc/logrotate.daily.0
    ## Nginx按天日志切割配置文件
    cat /etc/logrotate.daily.0/nginx
    /applications/nginx/logs/*.log {
            daily   ## 按天切割
            rotate 30   ## 切割文件保留30天
            missingok  ## 忽略切割过程中的错误
            notifempty   ## 日志为空将不切割压缩
            #compress   ## gzip方式压缩
            nodelaycompress  ## 不要将刚切割后的日志文件放到下个循环中进行压缩
            dateext  ## 添加切割后的日志扩展名
            dateformat -%Y-%m-%d  ## 日志格式
            dateyesterday  ## 日志命名为昨天的日期
            
            ## 执行postrotate   endscript之间的命令
            postrotate
                if [ -f /applications/nginx/var/nginx.pid ];then
                    kill -USR1 `cat /applications/nginx/var/nginx.pid`
                fi
            endscript
    }
    ## 添加定时任务
    crontab -l
    #nginx log logrotate
    59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.daily.0/nginx >/dev/null 2>&1
    
  20. 今天有这么一个需求:需要为一个前端项目部署在服务器中,然后使用nginx做跳转,很简单,可是访问不到,配置如下,新项目访问地址为www.qq.com/cms/
    server {
        index  index.html index.htm index.jsp;
        listen  80;
        server_name  test-i.qq.com;
        return 301 https://$server_name$request_uri;
    }
    
    
    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  test-i.kexinid.com;
    
        ssl_certificate /etc/nginx/ssl/qq.com.crt;
        ssl_certificate_key /etc/nginx/ssl/qq.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
    
    
        location / {
            root /data/vue/suyuan/;
            index index.htm index.html;
        }
        
        location /cms {
            root /data/vue/cms/; #这里不对 应该是 alias /data/vue/cms/;
            index index.htm index.html;
        }
    
    
        #error_log  /var/log/nginx/debug.log  debug;
        access_log /var/log/nginx/test-i.qq.com.access.log main;
    }
    
    原来应当如此:Linux之中Nginx 多location配置_蜀山雪松的博客-CSDN博客_linux 部署多个nginx
    在一个location中,alias可以存在多个,但是root只能有一个
    alias只能存在与location中,但是root可以用在server、http和location中
    alias后面必须要“/”结束,否则会找不到文件,而root的“/”可有可无
  21. 部署vue项目
    配置一个vue3.0项目的完整步骤 / 张生荣

开发、测试环境:一台服务器、一个二级域名、多个三级域名绑定多个项目配置:

主流方式:

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;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;


    server {
        listen       80;
        server_name  qq.com;
        # 1.以下都可配置,使用https证书
        return 301 https://$server_name$request_uri;

        # 不使用证书,就使用下面这种方式
        # location / {
        #     root   /home/qq/;
        #     index  index.html index.htm;
        # }

        # location /api/ {
        #     proxy_pass http://localhost:8000/api/;

        #     # 2.以下都可配置,获取客户端的真实ip地址等信息
        #     proxy_set_header X_Real_IP $remote_addr;
        #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #     proxy_set_header Host $host;

        #     # 3.以下都可配置,跨域处理方式一:允许跨域访问
        #     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';
        # }

        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }

    }

    server {
        listen       80;
        server_name  y.qq.com;

        location / {
            root   /home/y/;
            index  index.html index.htm;
        }

        location /api/ {
            proxy_pass http://localhost:8001/api/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name  lol.qq.com;

        location / {
            root   /home/lol/;
            index  index.html index.htm;
        }

        location /api/ {
            proxy_pass http://localhost:8002/api/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name  mail.qq.com;

        location / {
            root   /home/mail/;
            index  index.html index.htm;
        }

        location /api/ {
            proxy_pass http://localhost:8003/api/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  qq.com;

        # 1.配置https://www.qq.com ssl证书
        ssl_certificate /root/.acme.sh/www.qq.com/www.qq.com.cer;
        ssl_certificate_key /root/.acme.sh/www.qq.com/www.qq.come.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location / {
            root   /home/qq/;
            index  index.html index.htm;
        }

        location /api/ {
            proxy_pass http://localhost:8000/api/;

            #2.以下都可配置,获取客户端的真实ip地址等信息
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;

            #3.以下都可配置,跨域处理方式一:允许跨域访问
            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';
        }
    }

    # 配置https://www.y.qq.com ssl证书
    # 配置https://www.lol.qq.com ssl证书
    # 配置https://www.mail.qq.com ssl证书

}

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;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  qq.com;
        # 1.以下都可配置,使用https证书
        #return 301 https://$server_name$request_uri;

        # 不使用证书,就使用下面这种方式
        location / {
            root   /home/qq/;
            index  index.html index.htm;
        }

        location /y {
            root   /home/y/;
            index  index.html index.htm;
        }

        location /lol {
            root   /home/lol/;
            index  index.html index.htm;
        }

        location /mail {
            root   /home/mail/;
            index  index.html index.htm;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8000/api/;

            # 2.以下都可配置,获取客户端的真实ip地址等信息
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;

            # 3.以下都可配置,跨域处理方式一:允许跨域访问
            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';
        }

        location /qq/api/ {
            proxy_pass http://localhost:8001/api/;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8002/api/;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8003/api/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }


    # 配置https://www.qq.com证书
    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  qq.com;
        
        # 1.ssl 证书
        ssl_certificate /root/.acme.sh/www.qq.com/www.qq.com.cer;
        ssl_certificate_key /root/.acme.sh/www.qq.com/www.qq.come.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location / {
            root   /home/qq/;
            index  index.html index.htm;
        }

        location /y {
            root   /home/y/;
            index  index.html index.htm;
        }

        location /lol {
            root   /home/lol/;
            index  index.html index.htm;
        }

        location /mail {
            root   /home/mail/;
            index  index.html index.htm;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8000/api/;

            # 2.以下都可配置,获取客户端的真实ip地址等信息
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;

            # 3.以下都可配置,跨域处理方式一:允许跨域访问
            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';
        }

        location /qq/api/ {
            proxy_pass http://localhost:8001/api/;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8002/api/;
        }

        location /qq/api/ {
            proxy_pass http://localhost:8003/api/;
        }
    }

}

正式环境:多台服务器、一个二级域名、多个三个域名、之间实现项目上线的配置:

例子:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    # include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        # location / {
        #     root /data/vue/suyuan/;
        #     index index.html;
        # }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    server {
        listen       80;
        server_name  test-gate.kexinid.com;
        return 301 https://$server_name$request_uri;

        # location / {
	    #     proxy_pass http://127.0.0.1:8080;
        # }

        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }

    }
    
    server {
        listen       80;
        server_name test-i.kexinid.com;
        return 301 https://$server_name$request_uri;

        # location / {
        #     root /data/vue/suyuan/;
        #     index index.html;
        # }
        
        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }

    }

    server {
        listen       80;
        server_name test-cctv-gw.kexinid.com;
        return 301 https://$server_name$request_uri;
        
        # location / {
	    #     proxy_pass http://127.0.0.1:8080/trace/code$request_uri;
        # }

        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }

    }

    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  test-i.kexinid.com;

        ssl_certificate /etc/nginx/ssl/kexinid.com.crt;
        ssl_certificate_key /etc/nginx/ssl/kexinid.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location / {
            root /data/vue/suyuan/;
            index index.htm index.html;
        }

        #error_log  /var/log/nginx/debug.log  debug;
        access_log /var/log/nginx/test-i.kexinid.com.access.log main;
    }

    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  test-gate.kexinid.com;

        ssl_certificate /etc/nginx/ssl/kexinid.com.crt;
        ssl_certificate_key /etc/nginx/ssl/kexinid.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept ,token";
            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
        }

        #error_log  /var/log/nginx/debug.log  debug;
        access_log /var/log/nginx/test-gate.kexinid.access.log main;
    }

    server {
        index  index.html index.htm index.jsp;
        listen 443 ssl ;
        server_name  test-cctv-gw.kexinid.com;

        ssl_certificate /etc/nginx/ssl/kexinid.com.crt;
        ssl_certificate_key /etc/nginx/ssl/kexinid.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location / {
            proxy_pass http://127.0.0.1:50006/view/code;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
        }

        location /view/ {
            proxy_pass http://127.0.0.1:50006/view;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
        }

        location /preview/ {
            proxy_pass http://127.0.0.1:50006/view;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
        }

        # location ~*(/view/|/preview/) {
        #     proxy_pass http://127.0.0.1:50006/view/;
        #     proxy_set_header X_Real_IP $remote_addr;
        #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #     proxy_set_header Host $host;
        # }

        #error_log  /var/log/nginx/debug.log  debug;
        access_log /var/log/nginx/test-gate.kexinid.access.log main;
    }

    
    

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐