• centos7 nginx location 配置


    nginx 安装

    yum install -y epel-release

    yum –y install nginx

    systemctl start nginx

    systemctl enable nginx

     /etc/nginx.conf   在http节点下面添加 map  并注释掉  默认监听的80端口

    参考 https://docs.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#linux-with-nginx

    http {
        map $http_connection $connection_upgrade {
          "~*Upgrade" $http_connection;
          default keep-alive;
        }
    
        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;
    #        listen       [::]:80;
    #        server_name  _;
    #        root         /usr/share/nginx/html;
    #
    #        # Load configuration files for the default server block.
    #        include /etc/nginx/default.d/*.conf;
    #
    #        error_page 404 /404.html;
    #        location = /404.html {
    #        }
    #
    #        error_page 500 502 503 504 /50x.html;
    #        location = /50x.html {
    #        }
    #    }
    
    # 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 HIGH:!aNULL:!MD5;
    #        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 {
    #        }
    #    }
    
    }

    新建文件 vim /etc/conf.d/xxxxx.conf

    
    

    server {
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
      server_name bashi.win;

      ssl_certificate /etc/letsencrypt/live/bashi.win/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/bashi.win/privkey.pem;

      location / {
      try_files $uri $uri/ /index.html;
      root /var/www/bashi;
      index index.html index.htm;
      }

    # Configure the SignalR Endpoint
    location /api/ {
        # App server url
        proxy_pass http://localhost:8800/;

        # Configuration for WebSockets
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_cache off;
        # WebSockets were implemented after http/1.0
        proxy_http_version 1.1;

        # Configuration for ServerSentEvents
        proxy_buffering off;

        # Configuration for LongPolling or if your KeepAliveInterval is longer than 60 seconds
        proxy_read_timeout 100s;

        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
    }

    server {
      listen 80;
      server_name bashi.win;
      return 301 https://$server_name$request_uri;
    }

     

    location编辑及解释

    在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。

    假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。

    第一种:
    location /proxy/ {
    proxy_pass http://127.0.0.1/;
    }
    代理到URL:http://127.0.0.1/test.html

    第二种(相对于第一种,最后少一个 / )
    location /proxy/ {
    proxy_pass http://127.0.0.1;
    }
    代理到URL:http://127.0.0.1/proxy/test.html

    第三种:
    location /proxy/ {
    proxy_pass http://127.0.0.1/aaa/;
    }
    代理到URL:http://127.0.0.1/aaa/test.html

    第四种(相对于第三种,最后少一个 / )
    location /proxy/ {
    proxy_pass http://127.0.0.1/aaa;
    }
    代理到URL:http://127.0.0.1/aaatest.html

    try_files $uri $uri/ /index.html;
  • 相关阅读:
    图片轮播
    带箭头的轮播
    日期时间函数(需要用变量调用):
    DOM:文档对象模型 --树模型
    js脚本语言(数组)
    查询例子
    10.17 (下午)开课一个月零十三天 (高级查询)
    10.17 (上午)开课一个月零十三天 (数据库查询)
    10.16 (下午)开课一个月零十二天 (增删改查)
    10.16 (上午)开课一个月零十二天 (创建数据库,创建表)
  • 原文地址:https://www.cnblogs.com/xtxtx/p/16328990.html
Copyright © 2020-2023  润新知