Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Írja át a kéréseket.
Példa konfigurációra
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"plugins": [
{
"name": "RewritePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "rewritePlugin"
}
],
"rewritePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.schema.json",
"rewritesFile": "rewrites.json"
}
}
Konfigurációs tulajdonságok
| Tulajdonság | Leírás | Alapértelmezett |
|---|---|---|
rewritesFile |
Az újraírási definíciókat tartalmazó fájl elérési útja | rewrites.json |
Parancssori beállítások
Egyik sem
Példák átírása fájlra
Az alábbiakban példákat láthat a szabályok újraírására.
Az összes kérés átírása HTTP-ről HTTPS-re
Írja át a HTTP-ről a HTTPS-re irányuló összes kérést. Ebben a kontextusban minden a Dev Proxyval vagy a RewritePluginnel konfigurált összes kérést jelenti.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}
]
}
Kérelemfejléc beállítása
Állítsa be a Accept-Language fejlécet az összes kéréshez https://api.contoso.com. Ha a kérelem már rendelkezik a fejléccel, a beépülő modul lecseréli az értékét. Ha a fejléc hiányzik, a beépülő modul hozzáadja. Mivel a szabály nem ad meg kimenő URL-címet, a beépülő modul nem módosítja a kérelem URL-címét.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^https://api\\.contoso\\.com/"
},
"out": {
"headers": [
{
"name": "Accept-Language",
"value": "nl-NL"
}
]
}
}
]
}
Kérések átírása egy környezeti változó URL-címére
Írja át a https://api.contoso.com környezeti változóban API_BASE_URL tárolt alap URL-címre irányuló kéréseket, megőrizve az elérési út többi részét.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^https://api\\.contoso\\.com/(.*)"
},
"out": {
"url": "${env:API_BASE_URL}/$1"
}
}
]
}
Fájltulajdonságok szimulálása
| Tulajdonság | Leírás | Kötelező |
|---|---|---|
rewrites |
Újraírási objektumok tömbje , amelyek meghatározzák az átírási szabályok listáját, amelyeket a RewritePlugin az általa elfogott kérelmekre alkalmaz | igen |
Objektum újraírása
Minden átírási szabály a következő tulajdonságokkal rendelkezik:
| Tulajdonság | Leírás | Kötelező |
|---|---|---|
in |
Írja át a mintát a bejövő kérésnek megfelelően. | igen |
out |
Minta átírása a kérés újraírásához | igen |
Megjegyzések
Ha az Újraírásplugin elfogására irányuló kérés nem felel meg a mintában definiált összes tulajdonságnak, a beépülő modul nem alkalmazza az újraírási szabályt a kérelemre.
Minta újraírása
Minden újraírási minta a következő tulajdonságokkal rendelkezik:
| Tulajdonság | Leírás | Kötelező | Alapértelmezett érték | Mintaérték |
|---|---|---|---|---|
url |
A mintában az a reguláris kifejezés, amelyet a beépülő modul az URL-címre alkalmaz. A kimenő mintában az URL-cím a kérés újraírásához. Ha kihagyja a kimenő mintában, a beépülő modul nem módosítja a kérelem URL-címét. | Igen be, nincs befelé | ^http://(.*) |
|
headers |
A kérelem fejléceinek tömbje , amely a kérelemre van állítva. Csak a kimenő mintában támogatott. | no |
Megjegyzések
A kimenő mintának meg kell adnia url, headersvagy mindkettőt.
Ha rögzített csoportokat használ a reguláris kifejezésben a mintákban , hivatkozhat rájuk a kimenő mintában. Ha például át szeretné írni http://example.com/foohttps://example.com/foo, a következő átírási szabályt használhatja:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}
]
}
A kimenő URL-címben a szintaxis használatával hivatkozhat a környezeti változókra ${env:VAR_NAME} . A Dev Proxy beszúrja a as-iskörnyezeti változó értékét, így az érték a mintából származó csoportok rögzítésére is hivatkozhat. A Dev Proxy csak a mintának megfelelő kérések esetén oldja fel a környezeti változókat, és nem bontja ki a környezeti változókat a mintában . Ha a hivatkozott környezeti változó nincs beállítva, a Dev Proxy naplóz egy hibát, és kihagyja az újraírási szabályt.
Kérések fejrész
Minden kérelemfejléc a következő tulajdonságokkal rendelkezik:
| Tulajdonság | Leírás | Kötelező |
|---|---|---|
name |
A kérelem fejlécének neve | igen |
value |
A kérelemfejléchez beállítandó érték | igen |
Megjegyzések
A beépülő modul érzéketlenül egyezik a fejlécnevek nevével. Ha a kérelem már rendelkezik a fejléccel, a beépülő modul lecseréli az értékét. Ha a fejléc hiányzik, a beépülő modul hozzáadja.
A beépülő modul csak azokra a kérelmekre állítja be a fejléceket, amelyek URL-címe megegyezik a megadott URL-mintával. A beépülő modul kiértékeli az egyezést, mielőtt az ugyanazon szabály URL-átírását alkalmazza, így amikor egy szabály újraírja az URL-címet és a fejléceket is, a fejlécek ugyanazokra a kérelmekre vonatkoznak, mint az URL-átírás.
A fejlécértékek környezeti változóira a ${env:VAR_NAME} szintaxis használatával hivatkozhat. A Dev Proxy ugyanúgy oldja fel őket, mint a kimenő URL-címben, és kihagyja az átírási szabályt, ha nincs beállítva hivatkozott környezeti változó. A fejlécértékek nem támogatják a csoportok rögzítését a mintából .