Прокси-сервер Nginx не работает

Прокси-сервер Nginx не работает

Я пытаюсь перенаправить весь трафик с www.impactteachers.com/teach на application.impactteachers/teach.

Таким образом, наша форма заявки также доступна по следующему URL-адресу: www.impactteachers.com/teach/

Это отлично работает на нашем текущем сервере Apache с помощью следующего правила:

ProxyRequests Off
ProxyPreserveHost On

    <Proxy http://application.impactteachers.com:8080/teach/>
         Order allow,deny
         Allow from all
    </Proxy>

    ProxyPass /teach/ http://application.impactteachers.com:8080/teach/
    ProxyPassReverse /teach/ http://application.impactteachers.com:8080/teach/

Поскольку мы переносим наш сайт на сервер Nginx, нам необходимо создать новое правило, согласно этой статье:Решение Nginx для Apache ProxyPassReverseи с вашей помощью на данный момент это текущий код:

location /teach { 

    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_pass http://application.impactteachers.com:8080/teach;
    proxy_redirect          default;

}

Я проверил это, и ошибка 404 все еще выдается.

решение1

Попробуйте что-нибудь вроде этого:

upstream teach_backend {
    server application.impactteachers.com:8080 fail_timeout=2s;

    keepalive 32;
}


server {
    listen 80;
    server_name your_server_name.com;

      location /teach {
        proxy_http_version 1.1;
        proxy_set_header Connection "";

        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header Host $host;

        proxy_pass http://teach_backend/teach;
        proxy_redirect http://teach_backend/teach /teach;
        #proxy_redirect default;

        #expires -1;
        #add_header Cache-Control "private";
    }

}

Связанный контент