分类 Nginx 下的文章

server {
    listen 80;
    server_name ~^(?<subdomain>.+).example.com$;
    set $root /wwwroot/$subdomain;

    if ( -d /wwwroot/$subdomain/public) {
        set $root /wwwroot/$subdomain/public;
    }
    root $root;
}

起作用的就是 server_name 这行,路径依据这行传递路径变量

一般设置代理只需按以下来设置是没有问题的,但是今天我们要操作的websockt

server {
    location / {
        proxy_pass http://127.0.0.1:10086;
        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 REMOTE-HOST $remote_addr;
        proxy_http_version 1.1;
        proxy_read_timeout 300s;
    }
}

nginx -t一下

会出现如下错误:
nginx: [emerg] unknown "connection_upgrade" variable

就是这里出现了个坑

其中涉及到了一个nginx的设计问题 End-to-end and Hop-by-hop Headers
我在这里还是不过多赘述了,以免误人子弟

map在nginx中是为一个或多个变量设置映射表

下面是需要添加的几项配置:

http {
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    server {
        location / {
            #…
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

文章重置时间:2017-01-13
文章原发表时间:2016-01-07 12:37:00
      • -

当时把网站搬回国内了,把博客备份打包下载上传到新的机子上,数据库导入,网站文件上传,欧了

  • 首页显示完美
  • 进入登录页面
  • 输入帐号密码
  • 点击登录

这时……

TNN的登录404,然后我就去谷歌某度了

我记得我当时更改了关键词搜索出了一个页面,其实我是不报什么希望的,准备换回自己觉得还算熟悉的apache,谁知道一试可以了,真是他么的一个激动(^o^)/~啊,内心无数头草泥马奔腾。

在这里我衷心的感谢那位不知名的博主发布的那篇文章,谢谢

- 阅读剩余部分 -