IIS — Cors Module — IIS 8.5

#iis #cors

#iis #cors

Вопрос:

Я использую это в web.config и ожидаю, что поддомены для topdomain и заголовки access-control появятся в моих HTTP-ответах, но я ничего не вижу.

Это IIS 8.5. Я установил модуль CORS в IIS. Чего я не понимаю?

Первоначально я вручную добавлял заголовки, но мне нужно было больше, чем просто общее поведение, а вместо этого различное поведение для каждого запрашивающего, поэтому я пытаюсь использовать CORS.

 <cors enabled="true">
      <add origin="*" allowed="true"/>
      <add origin="https://*.topdomain.com" allowCredentials="true" maxAge="120">
    <allowMethods>
            <add method="*"/>
    </allowMethods>
    <allowHeaders>
            <add header="*"/>
    </allowHeaders>
      </add>
    </cors>
  

Комментарии:

1. Обычно мы храним токен или какой-либо пользовательский заголовок в заголовке, чтобы заголовки запроса управления доступом могли указывать, какие HTTP-заголовки можно использовать после предполетного запроса. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/… Сначала вы вручную добавили заголовки, чтобы увидеть их в ответе. Когда вы не добавляли, все запросы анонимны, поэтому вы не можете его найти.

2. @JalpaPanchal я заставил это работать

Ответ №1:

Заставил его работать с несколькими доменами:

 <cors enabled="true" failUnlistedOrigins="false">  
   <add origin="https://*.topdomain.com" allowCredentials="true" maxAge="120"> 
            <allowHeaders allowAllRequestedHeaders="true">
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </allowHeaders>
            <allowMethods>
                 <add method="GET" />
                 <add method="POST" />
                 <add method="PUT" />
            </allowMethods>
            <exposeHeaders>
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </exposeHeaders>
        </add>
        <add origin="https://ourspsubdomain.sharepoint.com" allowCredentials="true" maxAge="120"> 
            <allowHeaders allowAllRequestedHeaders="true">
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </allowHeaders>
            <allowMethods>
                 <add method="GET" />
                 <add method="POST" />
                 <add method="PUT" />
            </allowMethods>
            <exposeHeaders>
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </exposeHeaders>
        </add>
        <add origin="https://localhost:4321" allowCredentials="true" maxAge="120"> 
            <allowHeaders allowAllRequestedHeaders="true">
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </allowHeaders>
            <allowMethods>
                 <add method="GET" />
                 <add method="POST" />
                 <add method="PUT" />
            </allowMethods>
            <exposeHeaders>
                <add header="DNT" />
                <add header="Host" />
                <add header="Origin" />
                <add header="Referrer" />
                <add header="User-Agent" />
            </exposeHeaders>
        </add>
    </cors>