最近、ロード バランサーの背後に移動されたサイトがあります。クライアントが完了までに時間がかかる特定の機能を使用しようとするまで、これは問題ではありませんでした。これは明らかにロード バランサーのタイムアウトに達し、アクションが失敗します。理想的には関数を書き直してより高速に実行するか、バックグラウンド プロセスを使用することですが、クライアントは今のところこれに支払う意思がないため、回避策が考案されました。
ロードバランサーを経由せず、サーバーのIPに直接アクセスするURLを作成できましたが、一般ユーザーがこのURLからサイトにアクセスできないようにしたくありません。そのため、ユーザーが管理ページから表示しない限り、ユーザーをサイトのメイン URL に 301 送信する .htaccess ルールを作成しようとしています。私が知る限り、正しい形式は次のとおりです。
RewriteCond %{HTTP_HOST} bypass.mydomain.com
RewriteCond %{REQUEST_URI} !^admin
RewriteRule (.*) http://www.mydomain.com/$1 [r=301,L]
それは、私の理解では:
- ユーザーが bypass.mydomain.com にいる場合
- また、訪問した URI が「admin」で始まっていない
- ユーザーを bypass.mydomain.com から www.mydomain.com に転送します
ただし、これは機能していないようです。代わりに、毎回転送します。何か案は?