2016-11-08 2 views
1

Я пытаюсь настроить Nginx сделать следующее:Nginx конфигурации для субдомена и форума

  • перенаправлять example.com и www.example.com на мой старый сайт
  • www.example.com/ форум или example.com/forum на форуме веб-сервер (IP)
  • любой другой подобласти к .example.com, обратный проксируемого к node.js

Я знаю, что следующий не работает, как я должен настроить?

server { 
    listen 80; 
    server_name www.example.com example.com; 

    location /forum { 
     proxy_pass http://<forum ip>/; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 

    return 301 $scheme://www.old-website.com; 
} 
server { 
    listen 80; 

    server_name ~^(.*)\.example\.com $; 

    location/{ 
     proxy_pass http://localhost:3000; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

ответ

2

Голый return 301 предотвратит location /forum блок из рассматриваемых. Попробуйте обернув его внутри блока в месте по умолчанию:

location /forum { 
    ... 
} 
location/{ 
    return 301 $scheme://www.old-website.com; 
} 
+0

/форум возвращающегося 404 хотя –

+0

NVM я добавил правило перезаписи до прокси, благодаря –

+0

При загрузке форум я получаю 404 на все статические файлы, так как они запрошенный в голом домене вместо example.com/forum –

Смежные вопросы