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 サーバーに移行するため、この記事に従って新しいルールを作成する必要があります。Apache ProxyPassReverse 用の Nginx ソリューションこれまでの皆さんの協力のおかげで、現在のコードは次のようになりました:
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";
}
}