Ich benutze einen Proxy in der Dev-Umgebung, weil ich echte Domain verwenden möchte, während die "Edit and Continue" -Funktion, die nur auf localhost funktioniert.Einrichten eines Cookies über Proxy
Ich habe www.site.com
auf meinem lokalen Rechner mit benutzerdefinierten Host konfiguriert. (einfache html Seite)
Ich habe diese App: localhost:9090
das ist meine asp.net mvc app auf meinem lokalen PC. www.site.com
Anruf über Ajax Cors zu localhost:9090
, aber Localhost kann keine Cookies mit der Domäne ".site.com" erstellen.
Also, ich habe erstellt: widgets.site.com
mit benutzerdefinierten Host als REVERSE PROXY zu localhost:9090
, so dass ich weiterhin Edit And Continue Feature verwenden kann.
Wie kann mein Localhost einen Cookie auf die Wildcard-Domain ".site.com" setzen? (Denken Sie daran, widgets.site.com
ist ein Proxy zu localhost:9090
)
Hier ist die Reverse-Proxy:
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:9090/{R:1}" />
<conditions>
<add input="{HTTP_COOKIE}" pattern="(.*)" />
</conditions>
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
<set name="HTTP_COOKIE" value="{c:1}" />
</serverVariables>
</rule>
</rules>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
<match filterByTags="A, Form, Img" pattern="^http(s)?://widgets.site.com/(.*)" />
<action type="Rewrite" value="http{R:1}://localhost/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
Danke, wenn ich den Host mache: '127.0.0.1 widgets.site.com', muss ich die Projekteinstellungen so konfigurieren, dass ich einen externen Host verwende, dann verliere ich die Edit - und - Fortsetzungs - Funktion (deshalb poste ich die Frage). – SexyMF