同じホスト名の別のポートにURLをプロキシできないようです。 somehost:8080で実行しているユーザーインターフェイス(Angular 5)とsomehost.com(ポート80)でWebアプリケーションの残りの部分を実行しています。 http://somehost.com/xxx を http://somehost.com:808 にプロキシします。私の構成が正しいか、または正しい場所にあるかわかりません。
$HTTP["Host"] =~ "somehost\.com$" {
$HTTP["url"] =~ "(^/xxx/)" {
proxy.server = ( "" => ("" => ( "Host" => "somehost.com", "port" => 8080 )))
}
url.rewrite-if-not-file = (
"^/(.*)" => "/index.php/$1",
)
}
あなたの質問から、http://somehost.com/xxx/file
からhttp://somehost.com:8080/file
を提供したいようです。その場合、代わりにhttp://somehost.com:8080/xxx/file
を提供しようとしているため、設定が間違っています。 url.rewrite-once
を追加する必要があります:
url.rewrite-once = ( "^/xxx/(.*)$" => "/$1" )
proxy.server = ( "" => ( # proxy all file extensions / prefixes
"" => # optional label to identify requests in logs
( "Host" => "somehost",
"port" => 8080
)
)
)
Lighttpdのバージョンによっては、$ HTTP ["url"]一致内からurl.rewrite-onceを呼び出すことができる場合とできない場合があります。
また、mod_proxyおよびmod_rewriteモジュールが次のようにロードされていることを確認してください。
server.modules += ( "mod_proxy" )
server.modules += ("mod_rewrite")
Proxy.serverの詳細: https://redmine.lighttpd.net/projects/1/wiki/Docs_ModProxy url.rewrite-onceの詳細: https:// redmine。 lighttpd.net/projects/1/wiki/docs_modrewrite#urlrewrite-repeat