2016-04-08 2 views
0

Я пытаюсь отменить прокси-сервер, используя nginx из поддомена, в URL-адрес, обслуживаемый Laravel (версия 5.2). В моем домене (domain.com) он отправляется по адресу domain.com/sub. Я хочу, чтобы это было доступно доменом sub.domain.com. Он должен прокси sub.domain.com, чтобы обслуживать то же самое с domain.com/sub. Вот мой Nginx конф для обратного проксиПоддомен прокси-сервера Nginx до laravel url

server { 
    listen 80; 
    server_name sub.domain.com; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host  $http_host; 
     proxy_pass   http://domain.com/sub; 
    } 
} 

Вот мой Nginx конф для Laravel приложения

server { 
    listen 80; 
    listen [::]:80; 

    # Useful logs for debug. 
    access_log  /var/www/domain/access.log; 
    error_log  /var/www/domain/error.log; 
    rewrite_log  on; 

    root /var/www/domain/public; 
    index index.php index.html index.htm; 

    server_name domain.com local.domain; 

    location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
    } 
} 

Но он вернулся 500 internal server error. Любое предложение исправить это или как это сделать? Спасибо :)

+0

Ошибка 500 означает, что ошибка присутствует в приложении. Не могли бы вы поделиться трассировкой стека ошибок? Внутри файлов журнала. –

+0

Хм, я не думаю, что это приложение. Потому что он работает как обычно, если я получаю доступ к нему из 'domain.com/sub' Но позвольте мне проверить его журнал регистрации – ans4175

+0

Nginx. –

ответ

0

Я нашел это проблема и решение здесь Nginx reverse proxy causing infinite loop

Похоже, я установил proxy_header хозяин, тот, что создал цикл. Поэтому я прокомментировал хост proxy_header. Вот мой полный conf

server { 
    listen 80; 
    server_name sub.domain.com; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_pass   http://domain.com/sub; 
    } 
} 
Смежные вопросы