2016-03-25 26 views
0

Accusoft'un belge görüntüleyicisini Angular.js uygulamasında kullanıyorum. Hizmetlerine ulaşmanın tek yolu, dizinlerimden birinde bir ters proxy kurulumu kullanmaktır. Böylece, ben şöyle İçinde Web.config sahiptir "pas-hizmet" kurdunuz:Ters proxy çağrısı yakalama açısal ve URL yeniden yazma

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="ReverseProxyInboundRule1" stopProcessing="true"> 
        <match url="(.*)" /> 
        <action type="Rewrite" url="http://localhost:3000/{R:1}" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

sorun çalışmalarına açısal için gerekli olan sitenin yönlendirme kuralları olabildiğince önce bu yakalayan olmasıdır aramayı geri döndürün ve index.html sayfasını geri gönderin.

<rewrite> 
     <rules> 
     <rule name="RemovevesSeldetailsscripts" stopProcessing="true"> 
      <match url="^(.*[/])scripts/(.*)$" /> 
      <conditions> 
      </conditions> 
      <action type="Redirect" url="scripts/{R:2}" /> 
     </rule> 
     <rule name="Removevesseldetailscontent" stopProcessing="true"> 
      <match url="^(.*[/])assets/(.*)$" /> 
      <conditions> 
      </conditions> 
      <action type="Redirect" url="assets/{R:2}" /> 
     </rule> 
     <rule name="Main Rule" enabled="true" stopProcessing="true"> 
      <match url=".*" /> 
      <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
         <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> 
         <add input="{REQUEST_URI}" pattern="^/(pas-service)" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="/jbv/index.html" /> 
     </rule> 
     </rules> 
    </rewrite> 

nasıl sitenin ana yeniden yazma kuralları bu ters vekil isteği görmezden yapabilirim: Burada

biz sitenin ana vakti için yeniden yazma kuralları ne var? Bu sadece ziyade hizmete çağrısının sonuçlarını dönen daha index.html sayfasına yönlendirir

http://localhost/jbv/pas-service/Page/q/0?DocumentID=uZcjEtW-7NshOyh8iEIFCx-EbvHyIAuha6D7tbQvV77O_FKs_P-3KN7rB9McjnnisxhPFv1Wy0f7K4t_Hc0Cc6A&Scale=1&ContentType=svga 

: Ne olur isteği bu URL olmasıdır. Herhangi bir fikir?

cevap

0

Sadece bir dizi yeniden yazma kuralları kullanmayı denediniz mi? Bunun yerine iki ayrı kural dosyaları kullanmak yerine, sadece ana dosyaya böyle bir şey ekleyin:

<rule name="PasRewriteRule" stopProcessing="true"> 
    <match url="^(.*[/])pas-service/(.*)$" /> 
    <conditions> 
    </conditions> 
    <action type="Rewrite" url="http://localhost:3000/{R:2}" /> 
</rule> 

ilk eşleştirilir emin olmak için, diğer kurallardan önce, üstüne bu ekleyin. Daha sonra Accusoft pas-service klasörünü silebilirsiniz. Uygulamanızın tam kurulumundan emin olmadığımdan normal ifadeyi düzeltmeniz gerekebileceğini unutmayın.

İlgili konular