下記のURLのように/配下全てをトップにproxy_passでhttp://127.0.0.1:4000にリダイレクトさせたいのですが、
エラーになってうまくいきません。
おそらく正規表現のパスとconf設定のlocation / {とかぶってしまってエラーになっているんだと思います。
どうすれば配下全てをトップにリダイレクトさせるとができますか??
http://192.168.128.226:4000/hogehoge
→ 下記にプロキシパスとして転送したい
http://192.168.128.226:4000/
しかしハードコーディングでは上手くいくが正規表現ではうまくいかないです。
Kubernetes の中なので、やや複雑ですが、ブラウザだと192.168...ですが、それをlocalhostに転送しています。
ブラウザ → Kube → dockerというイメージです。
nginx
1server { 2 # ポート番号はdeployment.ymlに合わせる 3 # 開発環境と同じポートにしたかったため4000 4 listen 4000; 5 listen [::]:4000; 6 server_name localhost; 7 8 set $host_path 127.0.0.1:4000/; 9 10 root /usr/share/nginx/html; 11 index index.html index.htm; 12 13 #charset koi8-r; 14 #access_log /var/log/nginx/host.access.log main; 15 16 location ~* .(gif|jpg|jpeg|js|css|ico)$ { 17 root /usr/share/nginx/html; 18 expires 10d; 19 } 20 21 #これだとうまくいく 22 #location /checkout { 23 # proxy_pass http://127.0.0.1:4000/; 24 #} 25 26 # これもうまくいく 27 #location /checkout { 28 # proxy_pass http://127.0.0.1:4000/; 29 #} 30 31 location ~ [a-z]*$ { 32 proxy_pass http://127.0.0.1:4000; 33 } 34 35 location / { 36 root /usr/share/nginx/html; 37 index index.html index.htm; 38 } 39 40 #error_page 404 /404.html; 41 42 # redirect server error pages to the static page /50x.html 43 # 44 error_page 500 502 503 504 /50x.html; 45 location = /50x.html { 46 root /usr/share/nginx/html; 47 } 48 49 # proxy the PHP scripts to Apache listening on 127.0.0.1:80 50 # 51 #location ~ .php$ { 52 # proxy_pass http://127.0.0.1; 53 #} 54 55 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 56 # 57 #location ~ .php$ { 58 # root html; 59 # fastcgi_pass 127.0.0.1:9000; 60 # fastcgi_index index.php; 61 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 62 # include fastcgi_params; 63 #} 64 65 # deny access to .htaccess files, if Apache's document root 66 # concurs with nginx's one 67 # 68 #location ~ /.ht { 69 # deny all; 70 #} 71}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。