2017-09-23 45 views
0

当我通过http连接时,我已经建立了一个在我的IIS服务器上完美工作的站点;但是,当我使用https://输入地址时,出现404未找到错误。IIS上的Laravel 5.4站点在https请求上获得404

我使用Laravel 5.4 我的web.config文件(在我的公共文件夹)看起来是这样的:

<rewrite> 
    <rules> 
     <rule name="Imported Rule 3"  stopProcessing="true"> 
      <match url="^" ignoreCase="false" /> 
      <conditions logicalGrouping="MatchAll"> 
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
       <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="index.php" /> 
     </rule> 
    </rules> 
</rewrite> 
<defaultDocument> 
    <files> 
     <clear /> 
     <add value="index.php" /> 
    </files> 
</defaultDocument> 

基本设置在IIS点站点根公用文件夹。

我有一个https绑定设置,并没有什么奇怪的服务器的全局设置或PHP设置,将阻止https,因为我们有几个非Laravel PHP网站,在https上工作正常。如果任何人都可以提出修复建议或者至少有一种方法,我可以通过http和https调用看到IIS在这些重写中做了什么,因此我可以看到它出错的地方并尝试更好地排除故障。标准日志只显示我的http调用,以及带有漂亮url的那些,而不是IIS在重写后使用的实际URL。

回答

0

我能弄明白。原来这不是一个重写问题,这是一个Azure问题。该端口被同一资源组中的另一个VM占用,阻止我打开此计算机上的端口(此计算机上的其他SSL站点使用了不同的端口,这是他们如何运行的)。