आईआईएस लॉग में कस्टम क्षेत्र है "-" निश्चित पथ के लिए मूल्य के लिए

वोट
0

मैं ASP.NET अनुप्रयोग के web.config आईआईएस पर होस्ट में निम्नलिखित पुनर्लेखन नियम कॉन्फ़िगर किया है:

    <rewrite>
        <rules>
            <rule name=setappname>
                <match url=.* />
                <serverVariables>
                    <set name=CONTAINER_APP_NAME value=desiredValue />
                </serverVariables>
            </rule>
        </rules>
    </rewrite>

और applicationHost.config में, मैं निम्नलिखित स्निपेट हैं:

    <sites>
        <site name=mysite id=1 serverAutoStart=true>
            <application path=/ applicationPool=.NET v4.5>
                <virtualDirectory path=/ physicalPath=c:\mysite />
            </application>
            <bindings>
                <binding protocol=http bindingInformation=*:80: />
            </bindings>
            <logFile directory=c:\iislog period=MaxSize truncateSize=4294967295>
                <customFields>
                    <add logFieldName=x-forwarded-for sourceName=X-Forwarded-For sourceType=RequestHeader />
                    <add logFieldName=container-app sourceName=CONTAINER_APP_NAME sourceType=ServerVariable />
                </customFields>
            </logFile>
            <applicationDefaults preloadEnabled=true />
        </site>
    </sites>

तथा

<system.webServer>
    <rewrite>
        <allowedServerVariables>
            <add name=CONTAINER_APP_NAME />
        </allowedServerVariables>
    </rewrite>
</system.webServer>

यह काम करता है ठीक (मैं लॉग में 2 कस्टम फ़ील्ड देखें) को छोड़कर जब साथ पथ समाप्त होता है / (जैसे: /या /APath/)। उन मामलों में, का मान container-appक्षेत्र (सर्वर चर का प्रयोग करके) हमेशा होता है -। उदाहरण के लिए:

$ curl --silent --output /dev/null -H X-Forwarded-For:10.3.2.12 http://localhost/APath/

पैदावार:

2019-12-02 20:47:32 172.29.152.165 GET /APath/ - 80 - 192.168.7.4 curl/7.67.0 - 200 0 0 121 10.3.2.12,+::1 -

जहाँ तक:

$ curl --silent --output /dev/null -H X-Forwarded-For:10.3.2.12 http://localhost/home.aspx

पैदावार:

2019-12-02 20:50:17 172.29.152.165 GET /home.aspx - 80 - 192.168.7.4 curl/7.67.0 - 200 0 0 63 10.3.2.12,+::1 desiredValue

मैं भले ही शायद पुनर्लेखन नियम उन पथों उठा नहीं है देखने के लिए ट्रेसिंग विफल अनुरोध सक्षम है, लेकिन मुझे लगता है कि शासन पथ से मेल खाता है और सर्वर चर वांछित मान पर सेट है इस बात की पुष्टि कर सकते हैं।

मुझे आश्चर्य है कि यदि ऐसा कुछ हो मैं इस निवारण करने का प्रयास कर सकते हैं। क्यों इस तरह के रास्तों को ठीक से लॉग इन नहीं हैं?

02/12/2019 को 23:58
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

मुझे लगता है कि मैं इस मुद्दे और इसे यहाँ दूसरों के लिए पोस्टिंग मिल गया।

असफल अनुरोध निशान को देख कर, मैं देख सकता हूँ कि आईआईएस निर्देशिका 'डिफ़ॉल्ट दस्तावेज़ों के लिए बच्चे को अनुरोध ( "/" के साथ समाप्त यूआरआई) पैदा करता है। जाहिर है, डिजाइन द्वारा, पुनर्लेखन नियम बच्चे अनुरोध करने के लिए लागू नहीं है (जैसे: https://forums.iis.net/t/1152699.aspx )।

इस समस्या के समाधान के लिए, मैं दस्तावेजों तो अन्य पुनर्लेखन नियम मुख्य प्रक्रिया स्तर पर लागू किया जाता है करने के लिए स्पष्ट अनुरोध होने के लिए इस तरह के अनुरोध को बदलने के लिए रीराइट नियम बनाया:

       <rewrite>
            <rules>
                <rule name="setExplictDoc">
                    <match url="(.*(APath)/$)" />
                    <action type="Rewrite" url="{R:0}Default.aspx" />
                </rule>
                <rule name="setappname">
                    <match url=".*" />
                    <serverVariables>
                        <set name="CONTAINER_APP_NAME" value="desiredValue" />
                    </serverVariables>
                </rule>
            </rules>
        </rewrite>

विचार से आया https://support.microsoft.com/en-ca/help/3050055/iis-digest-authentication-does-not-permit-pass-though-authentication-f

03/12/2019 को 01:16
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more