14

nginx 1.4.1 に次の構成を使用しています。

サーバー {
    聞く 8000;
    server_name correct.name.gr;

    場所/テスト/登録{
        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://127.0.0.1;
    }
}

私がやりたいことは、ユーザーhttp://correct.name.gr:8000/test/register/がポート 80 で実行される apache にプロキシする必要があることを確認したときです。

訪問するhttp://correct.name.gr:8000/test/register/と、正しい結果が得られます (index.php)。訪問するhttp://correct.name.gr:8000/test/register/asdと、正しい結果が得られます(Apacheから404)。訪問するhttp://correct.name.gr:8000/test/asdと、正しい結果が得られます(nginxの404)。訪問するhttp://correct.name.gr:8000/test/register123と、正しい結果が得られます(Apacheから404)。

問題は、私が訪問したときですhttp://correct.name.gr:8000/test/register。301 応答を受け取り、リダイレクトされますhttp://localhost/test/register/(末尾のスラッシュと、もちろん「localhost」に注意してください)!!!

末尾のスラッシュなどを配置するためにnginxに他の構成を行っていません。何が問題か知っていますか?私はApacheにプロキシすることで正しく動作したいですhttp://correct.name.gr:8000/test/register(または、少なくともユーザーのローカルホストへのリダイレクトではなく、少なくとも404エラーを発行することができない場合)。

更新 1 :http://correct.name.gr:8000/test/register昨日問題が発生したコンピューターとは別のコンピューターから試してみましたhttp://correct.name.gr:8000/test/register/。1 台のコンピューターで作業できるのに、もう 1 台のコンピューターではできない (両方のコンピューターで同じブラウザー Chrome を使用している) のはどうしてですか? 明日もう一度試して、3 番目のものからテストして動作を確認します。

ありがとうございました !

4

2 に答える 2