Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
SymProxy ukládá nastavení v tomto klíči registru.
HKLM/Software/Microsoft/Symbol Server Proxy
Tento klíč registru řídí umístění, ze kterého se mají najít symboly pro uložení na webu, úroveň protokolování a zda SymProxy funguje s přímým připojením k síti. Tento klíč můžete vytvořit spuštěním registračního nástroje SymProxy (Symproxy.reg) s nástroji pro ladění pro Windows. Na příkazovém řádku zadejte symproxy.reg nebo na něj poklikejte z Průzkumníka Windows.
Tím se do nastavení přidají položky, které budou mít předponu „x“, aby byly zakázané. Pokud chcete povolit nastavení, odeberte před požadovaným nastavením symbol x.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy]
"Available Settings"="Remove the 'x' prefix to use the setting"
"xMissAgeTimeout"=dword:00015180
"xMissAgeCheck"=dword:00000e10
"xMissTimeout"=dword:00000e10
"xNoCache"=dword:00000001
"xNoFilePointers"=dword:00000001
"xNoInternetProxy"=dword:00000001
"xNoLongerIndexedAuthoritive"=dword:00000001
"xNoUncompress"=dword:00000001
"xRequestTimeout"=dword:0000019
"xRetryAppHang"=dword:0000002
"xUriFilter"=dword:00000FF
"xUriTiers"=dword:0000001
Soubor registru symproxy.reg předpokládá název virtuálního adresáře symbolů a nakonfiguruje cestu symbolu tak, aby používal server veřejných symbolů Společnosti Microsoft.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\Symbols]
"SymbolPath"="https://msdl.microsoft.com/download/symbols"
Položky protokolování událostí v symproxy.reg jsou zmíněny později v části Protokol událostí tohoto tématu.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Microsoft-Windows-SymProxy]
"ProviderGuid"="{0876099c-a903-47ff-af14-52035bb479ef}"
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
5c,00,69,00,6e,00,65,00,74,00,73,00,72,00,76,00,5c,00,53,00,79,00,6d,00,50,\
00,72,00,6f,00,78,00,79,00,2e,00,64,00,6c,00,6c,00,00,00
"TypesSupported"=dword:00000007
Položky webového adresáře v symproxy.reg jsou popsány v tomto tématu.
Webové adresáře
Pro každý virtuální adresář vygenerovaný ve službě IIS, který používáte jako úložiště symbolů, musíte nastavit klíč registru pod podklíčem webových adresářů následujícího klíče registru.
HKLM/Software/Microsoft/Symbol Server Proxy
Úprava klíče registru pro virtuální adresář úložiště symbolů
- Upravte obsah SymbolPath tak, aby obsahoval všechna úložiště symbolů používaná úložištěm symbolů SymProxy. Pokud se používá více než jedno úložiště symbolů, oddělte je středníky. Pro každou hodnotu se podporuje maximálně 10 úložišť. Cesty HTTP musí obsahovat předponu https:// a cesty UNC musí obsahovat předponu \\ .
Pokud se například jeden z virtuálních adresářů nazývá Symboly a symboly, ke kterým přistupuje, jsou umístěny v úložišti UNC \\symbols\symbols\symbols a úložiště https://msdl.microsoft.com/download/symbolsHTTP, vytvořte následující klíč registru.
HKLM/Software/Microsoft/Symbol Server Proxy/Web Directories/Symbols
Po vytvoření tohoto klíče upravte cestu SymbolPath tak, aby byla \\symbols\symbols;https://msdl.microsoft.com/download/symbols. To je vidět na následujícím snímku obrazovky Editoru registru.
V tomto příkladu SymProxy nejprve vyhledá symboly v \\symbols\symbols. Pokud tam soubory nenajdete, použije se Microsoft Symbol Store.
V každém z klíčů pod webovými adresáři, které odpovídají názvům virtuálních adresářů, je potřeba vytvořit REG_SZ s názvem SymbolPath. Hodnota obsahuje všechna upstreamová úložiště symbolů, která budou použita k naplnění úložiště symbolů SymProxy.
Podporuje se maximálně 10 položek.
Položky oddělte středníky.
Cesty UNC musí obsahovat předponu \\.
Cesty HTTP musí obsahovat předponu "https://".
Sespořádejte hodnoty od nejlevnějších po nejdražší.
Při výpočtu budete muset vyvážit výkonnostní cíle využití a náklady na komunikaci mezi servery a daty.
Obecně platí, že místní servery SMB/HTTP umístěte před internetové servery HTTP.
Čítače výkonu SymProxy
SymProxy může generovat čítače výkonu prostřednictvím poskytovatele s názvem SymProxy.
Pokud chcete povolit podporu čítačů výkonu, zaregistrujte soubor manifestu symproxy v příkazovém okně správce:
C:\> lodctr.exe /m:%WINDIR%\system32\inetsrv\symproxy.man
Pokud chcete zakázat podporu čítačů výkonu, zrušte registraci manifestu:
C:\> unlodctr.exe /m:%WINDIR%\system32\inetsrv\symproxy.man
Trasování událostí SymProxy pro Windows
SymProxy může vytvářet události ETW prostřednictvím poskytovatele s názvem Microsoft-Windows-SymProxy.
C:\> logman query providers | findstr SymProxy
Microsoft-Windows-SymProxy {0876099C-A903-47FF-AF14-52035BB479EF}
Pro povolení podpory ETW zaregistrujte soubor manifestu:
C:\> wevtutil.exe install-manifest %WINDIR%\system32\inetsrv\symproxy.man
Chcete-li zakázat podporu pro ETW, zrušte registraci souboru manifestu:
C:\> wevtutil.exe uninstall-manifest %WINDIR%\system32\inetsrv\symproxy.man
Protokol událostí
Pokud je služba EtW nakonfigurovaná, události se zaznamenávají jako události v kanálech Provozní a analytická analýza v části Protokoly aplikací a služeb\Microsoft\Windows\SymProxy v protokolu událostí.
Aby bylo možné správně zobrazit zprávu položek protokolu událostí, musí být do registru přidána oblast protokolu událostí souboru symproxy.reg:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Microsoft-Windows-SymProxy]
"ProviderGuid"="{0876099c-a903-47ff-af14-52035bb479ef}"
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
5c,00,69,00,6e,00,65,00,74,00,73,00,72,00,76,00,5c,00,53,00,79,00,6d,00,50,\
00,72,00,6f,00,78,00,79,00,2e,00,64,00,6c,00,6c,00,00,00
"TypesSupported"=dword:00000007
Události SymProxy
SymProxy protokoluje následující události:
| ID události | popis | kanál |
|---|---|---|
| 1 | Začátek filtru ISAPI | Administrátor |
| 2 | Zastavení filtru ISAPI | Administrátor |
| 3 | Konfigurace filtru ISAPI | Administrátor |
| 4 | Statistika chybějící mezipaměti | Administrátor |
| 10 | Žádost o adresu URL – Přístup k místní mezipaměti | V provozu |
| 11 | Žádost o adresu URL – Chybějící místní mezipaměť | V provozu |
| 20 | Stažení symbolu přes SymSrv | V provozu |
| 30 | Chybí kritický symbol. | Administrátor |
| 31 | Chybí kritický obrázek. | Administrátor |
| 40 | SymSrv – Cesta nebyla nalezena | Administrátor |
| 41 | SymSrv – Soubor nebyl nalezen | Administrátor |
| 42 | SymSrv – Přístup odepřen | Administrátor |
| 43 | SymSrv – Cesta je příliš dlouhá | Administrátor |
| 49 | SymSrv – kód chyby | Administrátor |
| 90 | Soutěžení o zámek | V provozu |
| 100 | Obecná kritická zpráva | Analytický |
| 101 | Obecná chybová zpráva | Analytický |
| 102 | Obecná zpráva upozornění | Analytický |
| 103 | Obecná informační zpráva | Analytický |
| 104 | Obecná analytická zpráva | Analytický |
| 105 | Obecná zpráva ladění | Ladění |
Konfigurace proxy serveru symbolů
SymProxy ukládá nastavení konfigurace do následující oblasti klíče registru:
HKLM/Software/Microsoft/Symbol Server Proxy
Z této lokace SymProxy získává svá globální nastavení a symbolické cesty k upstreamovým úložištím symbolů.
Tento klíč můžete vytvořit sloučením v souboru symproxy.reg, který jste přizpůsobili dříve.
Proxy klíč pro server symbolů
Klíč registru proxy serveru symbolů podporuje následující globální nastavení (všechny REG_DWORD). Nastavení lze použít okamžitě recyklací fondu aplikací. Vytvoří se nový proces w3wp.exe a načte nové hodnoty. Jakmile se dokončí všechny čekající požadavky na starý proces w3wp.exe, starý proces w3wp.exe skončí. Služba IIS ve výchozím nastavení recykluje w3wp.exe procesy každých 1 740 minut (29 hodin).
| REG_DWORD | Popis |
| NoInternetProxy (bez internetového proxy) | Při spuštění jako služby SymSrv.dll k vytváření požadavků HTTP používá WinHTTP místo WinInetu. V důsledku toho možná budete muset nastavit nastavení proxy serveru HTTP, aby služba mohla přistupovat k externím síťovým prostředkům. Můžete to provést pomocí programu netsh. Zadejte "netsh.exe winhttp -?" pro pokyny. Ve výchozím nastavení používá SymProxy určený proxy server HTTP. Pokud není nakonfigurovaný žádný proxy server HTTP, použije SymProxy fiktivní proxy server. To umožňuje zabezpečený přístup k webům HTTP v rámci intranetu. Jako vedlejší účinek to brání SymProxy přímo připojit k nezabezpečeným webům.
|
| NoFilePointers | Ve výchozím nastavení pro symboly, které neexistují, bude SymProxy hledat soubor.ptr vedle požadovaného souboru (v místní mezipaměti). Pokud se najde, vrátí umístění určené souborem file.ptr. Tato schopnost je vyžadována pouze v případě, že je místní mezipaměť naplněna SymStore.exe.
|
| NoUncompress | Ve výchozím nastavení SymProxy dekomprimuje stažené symboly před vrácením souboru volajícímu. Tím se sníží využití procesoru v klientovi, ale zvýší se vstupně-výstupní operace.
|
| NoCache | Ve výchozím nastavení bude SymProxy ukládat stažené symboly do místního systému souborů definované cestou virtuálního adresáře.
|
| MissTimeout | Doba časového limitu v sekundách, po kterou jsou chybějící symboly hlášeny jako chybějící bez opětovného dotazování mateřských serverů symbolů. K času založenému na standardu UTC je přidružena chybějící hodnota. Následné požadavky na soubor se okamžitě zamítnou po dobu N sekund. První požadavek na soubor po N sekundách způsobí, že se znovu dotazují nadřazená úložiště symbolů. V případě úspěchu se vrátí soubor symbolů a chybějící se odstraní. Při selhání se zmeškaný úkon posune na aktuální čas (v UTC), aby začalo nové období časového omezení. K monitorování neúspěšných chyb použijte čítače výkonu Miss Cache.
|
| MissAgeCheck | Období mezi kontrolami věku miss. Mezipaměť Miss se naskenuje a odeberou se záznamy starší než MissAgeTimeout sekundy. Aktuální statistiky se ukládají do protokolu událostí pomocí ID události 4.
|
| MissAgeTimeout | Vyprázdnění časového limitu každé položky mezipaměti Miss. Položka je vyprázdněna z důvodu absense jakékoli žádosti o ni během tohoto období.
|
| NoLongerIndexedAuthoritive | Pokud je tato možnost povolená, bude odpověď file.ptr NoLongerIndexed považována za autoritativní ve všech úložištích symbolů. Tímto způsobem se můžete vyhnout (zbytečným) voláním serverů, které soubor neindexuje.
|
| RetryAppHang | Povolte opakování do upstreamových úložišť symbolů HTTP. To odpovídá možnosti SymSrv SSRVOPT_RETRY_APP_HANG (0x80000000). Při přijetí kódu chyby 0x80070512/HRESULT_FROM_WIN32(ERROR_APP_HANG) prostřednictvím hlavičky odpovědi HTTP 'Symbol-Agent-Status' z upstreamového úložiště symbolů HTTP zůstane soket otevřený a metoda GET se zopakuje až Nkrát. SymProxy spojí více požadavků na stejný identifikátor URI. Když jakýkoli čekající požadavek dosáhne 25 sekund, vrátí SymProxy volajícímu 0x80070512 prostřednictvím hlavičky odpovědi HTTP Symbol-Agent-Status, ale pokračuje v operaci na pozadí. Klienti by měli povolit možnost SSRVOPT_RETRY_APP_HANG v SymSrv, aby byly podporovány mimořádně dlouhé požadavky – v podstatě řetězením opakování na vyšší úroveň. SymProxy ve výchozím nastavení nastaví časový limit odpovědi na 25 sekund, aby byla odpověď odeslána před tím, než se soket ukončí v rámci (výchozího) 30sekundového časového limitu, který SymSrv používá při připojení k úložištím symbolů HTTP. Novější verze SymSrv odesílají nakonfigurovanou hodnotu časového limitu HTTP prostřednictvím hlavičky požadavku HTTP Symbol-Agent-Receive-Timeout (v mSec). Pokud je zadána tato hlavička požadavku HTTP, použije se tato hodnota místo 25sekundového výchozího nastavení.
|
| UriFilter | Povolte filtrování identifikátorů URI. To odpovídá možnosti SymSrv SSRVOPT_URI_FILTER (0x20000000). Filtrování identifikátorů URI snižuje množství požadavků na všechny upstreamové úložiště symbolů. Hodnoty jsou bitové masky. HTTP – SSRVURI_HTTP_MASK (0x0F)
UNC – SSRVURI_UNC_MASK (0xF0)
|
| UriTiers | Povolte úrovně identifikátoru URI. To odpovídá možnosti SymSrv SSRVOPT_URI_TIERS (0x40000000). Vrstvy URI vynutí schéma vrstvy, které se používá ve všech upstreamových úložištích symbolů. Pokud není nastavená, k určení schématu se vyžaduje další požadavek. Existenceindex2.txtv kořenovém adresáři označuje rozložení o 2 vrstvě. 1-vrstvé úložiště je ve formátu: /widget.dll/<index>/widget.dll|widget.dl_|file.ptr 2vrstvé obchody jsou ve formátu: /wi/widget.dll/<index>/widget.dll|widget.dl_|file.ptr
|
Přístup k externím síťovým prostředkům
Když se SymSrv používá ve spojení s SymProxy, běží jako služba a používá rozhraní API WinHTTP pro přístup k symbolům přes připojení HTTP. To se liší od obvyklého chování použití WinInet pro tento účel.
V důsledku toho může být potřeba nastavit nastavení proxy serveru HTTP tak, aby tato služba mohla přistupovat k externím síťovým prostředkům. Ke konfiguraci těchto nastavení použijte jednu z následujících metod:
Použijte nástroj Netsh (netsh.exe). Pokyny zobrazíte zadáním následujícího příkazu v okně příkazového řádku:
netsh winhttp -?
Výchozím chováním SymProxy je použití libovolného proxy serveru HTTP určeného proxy serverem ProxyCfg nebo Netsh. Pokud není nakonfigurovaný žádný proxy server HTTP, používá SymProxy fiktivní proxy server, který umožňuje přístup k zabezpečeným webům HTTP v intranetu. Jako vedlejší účinek tato technika zabraňuje SymProxy pracovat s přímými připojeními k externímu internetu. Pokud chcete povolit, aby SymProxy fungoval s přímým připojením k internetu, vytvořte REG_DWORD hodnotu s názvem NoInternetProxy v klíči proxy serveru symbolů vašeho registru. Nastavte hodnotu NoInternetProxy na 1 a ověřte, že v ProxyCfg není uveden žádný HTTP proxy server.