IIS 8-使用SSL证书时找不到default.html

尼古拉斯·马格努森(Nicholas Magnussen)

我创建了一个webapp和一个控制台应用程序以在IIS中注册该网站。似乎根本没有问题。

这是我用于在IIS中注册网站的代码。

Dim manager As New ServerManager
Dim site As Site = manager.Sites.Add("MyControl", "http", "*:80:test.localhost", "C:\\inetpub\wwwroot\MyControl")

manager.ApplicationPools.Add("MyControl")
site.ApplicationDefaults.ApplicationPoolName = "MyControl"

manager.CommitChanges()

该站点已在IIS中正常注册。键入为http,主机名为test.localhost,端口为80,ip为*。像预期的那样。

我已经修改了主机文件,并添加了以下行:127.0.0.1 test.localhost这样,导航到http://test.localhost将解决重定向到IIS上我们站点的问题。

这应该意味着重定向到inetpub / wwwroot / MyControl根目录中的默认页面default.html。

但是,这不会发生。我得到一个空白页面,没有标题,来源为空白,但找不到页面。此外,如果我自己导航至http://test.localhost/default.html则会得到空白页,但标题为:MyControl。现在,如果我查看源代码,我可以看到它找到了文件,但是什么也没有显示。

如果我在IIS中手动设置网站,那没有问题。

任何想法,将不胜感激。

编辑:

到现在为止还挺好。现在,我将其与上述代码一起使用。你怎么了 我没有线索。

现在,我需要使用相同的网站,但要使用SSL证书进行安装。

我正在使用此代码

Module Main
<DllImport("advapi32.DLL", SetLastError:=True)>
Public Function LogonUser(ByVal username As String, ByVal domain As String,
                          ByVal password As String, ByVal logonType As Integer, ByVal logonProvider As Integer,
                          ByRef token As IntPtr) As Integer
End Function

Sub Main()
    'Load indstillinger fra app.config
    Dim sslPath As String = ConfigurationManager.AppSettings("sslPath")
    Dim sslPassword As String = ConfigurationManager.AppSettings("sslPassword")
    Dim remoteUsername As String = ConfigurationManager.AppSettings("remoteUsername")
    Dim remotePassword As String = ConfigurationManager.AppSettings("remotePassword")

    'Lav en store, således at vi kan få fat i vores ssl certifikat
    Dim store As X509Store = New X509Store(StoreName.My, StoreLocation.LocalMachine)
    store.Open(OpenFlags.OpenExistingOnly Or OpenFlags.ReadWrite)

    'Generer credentials til impersonation
    Dim adminToken As IntPtr = IntPtr.Zero
    Dim admin As WindowsIdentity = Nothing
    Dim context As WindowsImpersonationContext = Nothing

    'Login med den specificerede bruger
    LogonUser(remoteUsername, System.Environment.MachineName, remotePassword, 9, 0, adminToken) '9 afspejler logintype og 0 afspejler loginprovider - Ingen idé om hvad det har af betydning
    admin = New WindowsIdentity(adminToken)
    context = admin.Impersonate()

    'Import af SSL certifikat
    Dim certificate As X509Certificate2 = New X509Certificate2(sslPath, sslPassword) 'Sti til SSL certifikat og password til at installere dette
    store.Add(certificate)

    'Opret en manager og en config til oprettelse af site
    Dim manager As New ServerManager
    Dim config As Microsoft.Web.Administration.Configuration = manager.GetApplicationHostConfiguration()

    'Opret site i IIS med det valgte certifikat
    Dim site As Site = manager.Sites.Add("MyControl", "*:443:webmail.jcdhotel.dk", "C:\\inetpub\wwwroot\MyControl", certificate.GetCertHash())

    'Kræv SSL
    Dim accessSection As Microsoft.Web.Administration.ConfigurationSection = config.GetSection("system.webServer/security/access", "MyControl")
    accessSection("sslFlags") = "Ssl"

    'Opret en applicationpool specifikt til MyControl og sæt denne til default
    manager.ApplicationPools.Add("MyControl")
    site.ApplicationDefaults.ApplicationPoolName = "MyControl"

    'Luk store
    store.Close()

    'Gem ændringer og revert impersonation
    manager.CommitChanges()
    context.Undo()
End Sub

再次。该代码正在IIS中注册网站,并且可以很好地设置证书。绑定看起来像这样

错误

我再次修改了主机文件,添加了以下行 127.0.0.1 webmail.jcdhotel.dk

我可以转到链接https://webmail.jcdhotel.dk并接收空白页,源为空白。然后,我可以转到https://webmail.jcdhotel.dk/default.html,将设置标题,现在可以检查源,但页面仍为空白。

再次感谢您的任何帮助,并在此先感谢您!

编辑:

新讯息。通过手动尝试使用SSL证书将网站添加到IIS,我收到以下错误:

SSL错误

希望这将有助于阐明该问题。

编辑:

最后编辑,希望:D

我现在可以使用SSL证书手动添加绑定。问题是由于证书安装不正确。这使我进入最后的障碍。

使用vb.net将证书添加到商店时。如何检查“允许导出证书”?-由于这解决了手动添加证书时的问题。

尼古拉斯·马格努森(Nicholas Magnussen)

尝试了一切之后,我最终得到了这段代码

<DllImport("advapi32.DLL", SetLastError:=True)>
Public Function LogonUser(ByVal username As String, ByVal domain As String,
                          ByVal password As String, ByVal logonType As Integer, ByVal logonProvider As Integer,
                          ByRef token As IntPtr) As Integer
End Function

Sub Main()
    'Load indstillinger fra app.config
    Dim sslPath As String = ConfigurationManager.AppSettings("sslPath")
    Dim sslPassword As String = ConfigurationManager.AppSettings("sslPassword")
    Dim remoteUsername As String = ConfigurationManager.AppSettings("remoteUsername")
    Dim remotePassword As String = ConfigurationManager.AppSettings("remotePassword")

    'Lav en store, således at vi kan få fat i vores ssl certifikat
    Dim store As X509Store = New X509Store(StoreName.My, StoreLocation.LocalMachine)

    store.Open(OpenFlags.ReadWrite)

    'Generer credentials til impersonation
    Dim adminToken As IntPtr = IntPtr.Zero
    Dim admin As WindowsIdentity = Nothing
    Dim context As WindowsImpersonationContext = Nothing

    'Login med den specificerede bruger
    LogonUser(remoteUsername, System.Environment.MachineName, remotePassword, 9, 0, adminToken) '9 afspejler logintype og 0 afspejler loginprovider - Ingen idé om hvad det har af betydning
    admin = New WindowsIdentity(adminToken)
    context = admin.Impersonate()

    'Import af SSL certifikat
    Dim certificate As X509Certificate2 = New X509Certificate2(sslPath, sslPassword, X509KeyStorageFlags.PersistKeySet) 'Sti til SSL certifikat og password til at installere dette

    store.Add(certificate)

    'Opret en manager og en config til oprettelse af site
    Using manager As New ServerManager
        Dim config As Microsoft.Web.Administration.Configuration = manager.GetApplicationHostConfiguration()

        'Opret site i IIS med det valgte certifikat
        Dim site As Site = manager.Sites.Add("MyControl", "*:443:webmail.jcdhotel.dk", "C:\inetpub\wwwroot\MyControl", certificate.GetCertHash())

        'Kræv SSL
        Dim accessSection As Microsoft.Web.Administration.ConfigurationSection = config.GetSection("system.webServer/security/access", "MyControl")
        accessSection("sslFlags") = "Ssl"

        'Opret en applicationpool specifikt til MyControl og sæt denne til default
        manager.ApplicationPools.Add("MyControl")
        site.ApplicationDefaults.ApplicationPoolName = "MyControl"

        'Luk store
        store.Close()

        'Gem ændringer og revert impersonation
        manager.CommitChanges()
        context.Undo()
    End Using
End Sub

问题出在行中

Dim site As Site = manager.Sites.Add("MyControl", "*:443:webmail.jcdhotel.dk", "C:\inetpub\wwwroot\MyControl", certificate.GetCertHash())

我习惯了C#以及如何转义字符串。所以我错误地弹出了一个额外的\,使行看起来像这样

Dim site As Site = manager.Sites.Add("MyControl", "*:443:webmail.jcdhotel.dk", "C:\\inetpub\wwwroot\MyControl", certificate.GetCertHash())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.getJSON 仅适用于 Flask Dev 而非 IIS 8 当值中有 html 标签时

来自分类Dev

IIS Express 8与IIS

来自分类Dev

在IIS 8中使用mp4视频托管HTML页面无法使用主机名

来自分类Dev

Django:在使用 flatpages 时找不到 flatpages/default.html

来自分类Dev

IIS 8 giving an error

来自分类Dev

带有PHP7的IIS 8找不到Firebird / Interbase驱动程序

来自分类Dev

部署在IIS8中时,缓存不起作用

来自分类Dev

使用“服务器响应非Javascript MIME类型“ text / html”?”在本地将Angular 8应用程序部署到IIS错误。

来自分类Dev

使用VS2013和IIS 8进行调试

来自分类Dev

带有html_entity_decode和IIS8的PHP 5.5

来自分类Dev

IIS URL重写/ SSL证书

来自分类Dev

在Windows 8中找不到OEM证书

来自分类Dev

在IIS中使用SSL

来自分类Dev

在IIS上可以使用基于URL的SSL /证书吗?

来自分类Dev

VSTS IIS Deploy 配置 IIS 站点 SSL 证书

来自分类Dev

使用代码1的Dotnet publish-iis出口。使用.csproj时找不到Project.json?

来自分类Dev

IIS:找不到页面时重定向到索引

来自分类Dev

使用K8S / Helm安装TimescaleDB时出错:卷“证书”的MountVolume.SetUp失败:找不到秘密“ timescaledb-certificate”

来自分类Dev

如何还原丢失的IIS Express SSL证书?

来自分类Dev

SSL WildCard证书关闭了iis网站

来自分类Dev

部署到IIS8时的EF 6 vs EF 5相对性能问题

来自分类Dev

在IIS8 Express上运行ServiceStack时出现404 Not Found错误

来自分类Dev

在IIS8中部署时,缓存不起作用

来自分类Dev

在IIS 8上发布ASP vnext网站时出现问题

来自分类Dev

IIS 8中的WCF和EntityFramework错误服务器在处理请求时遇到错误

来自分类Dev

在IIS8 Express上运行ServiceStack时出现404 Not Found错误

来自分类Dev

如何在Windows 10上使用IIS8注册.Net 4.5.1

来自分类Dev

IIS 8 AppPool使用过多的资源,如何找到罪魁祸首?

来自分类Dev

IIS8 MVC5使用Class标记会使CPU崩溃

Related 相关文章

  1. 1

    .getJSON 仅适用于 Flask Dev 而非 IIS 8 当值中有 html 标签时

  2. 2

    IIS Express 8与IIS

  3. 3

    在IIS 8中使用mp4视频托管HTML页面无法使用主机名

  4. 4

    Django:在使用 flatpages 时找不到 flatpages/default.html

  5. 5

    IIS 8 giving an error

  6. 6

    带有PHP7的IIS 8找不到Firebird / Interbase驱动程序

  7. 7

    部署在IIS8中时,缓存不起作用

  8. 8

    使用“服务器响应非Javascript MIME类型“ text / html”?”在本地将Angular 8应用程序部署到IIS错误。

  9. 9

    使用VS2013和IIS 8进行调试

  10. 10

    带有html_entity_decode和IIS8的PHP 5.5

  11. 11

    IIS URL重写/ SSL证书

  12. 12

    在Windows 8中找不到OEM证书

  13. 13

    在IIS中使用SSL

  14. 14

    在IIS上可以使用基于URL的SSL /证书吗?

  15. 15

    VSTS IIS Deploy 配置 IIS 站点 SSL 证书

  16. 16

    使用代码1的Dotnet publish-iis出口。使用.csproj时找不到Project.json?

  17. 17

    IIS:找不到页面时重定向到索引

  18. 18

    使用K8S / Helm安装TimescaleDB时出错:卷“证书”的MountVolume.SetUp失败:找不到秘密“ timescaledb-certificate”

  19. 19

    如何还原丢失的IIS Express SSL证书?

  20. 20

    SSL WildCard证书关闭了iis网站

  21. 21

    部署到IIS8时的EF 6 vs EF 5相对性能问题

  22. 22

    在IIS8 Express上运行ServiceStack时出现404 Not Found错误

  23. 23

    在IIS8中部署时,缓存不起作用

  24. 24

    在IIS 8上发布ASP vnext网站时出现问题

  25. 25

    IIS 8中的WCF和EntityFramework错误服务器在处理请求时遇到错误

  26. 26

    在IIS8 Express上运行ServiceStack时出现404 Not Found错误

  27. 27

    如何在Windows 10上使用IIS8注册.Net 4.5.1

  28. 28

    IIS 8 AppPool使用过多的资源,如何找到罪魁祸首?

  29. 29

    IIS8 MVC5使用Class标记会使CPU崩溃

热门标签

归档