Estoy intentando redirigir todo el tráfico desde www.impactteachers.com/teach a application.impactteachers/teach.
De esta manera, nuestro formulario de solicitud también es accesible desde la siguiente URL: www.impactteachers.com/teach/
Esto funciona bien en nuestro servidor Apache actual con esta regla:
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/
Debido a que estamos migrando nuestro sitio a un servidor Nginx, necesitamos crear una nueva regla, según este artículo:Solución Nginx para Apache ProxyPassReversey con tu ayuda hasta ahora este es el código actual:
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;
}
Probé esto y todavía muestra el mismo error 404.
Respuesta1
Prueba algo como eso:
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";
}
}