First commit of SNI and CCS support in the IIS80 Provider. Only small changes to IIS70 to allow inheritance.
This commit is contained in:
parent
bb67d603e2
commit
4d44baa817
11 changed files with 841 additions and 47 deletions
|
@ -499,6 +499,40 @@
|
|||
</uc5:EditDomainsList>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody runat="server" ID="IIS80SSLSettings" Visible="False">
|
||||
<tr>
|
||||
<td width="200" class="Normal" valign="top">
|
||||
<asp:Label ID="lblUseSNI" runat="server" Text="Use SNI (Server Name Indication):"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:CheckBox ID="cbUseSNI" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="Normal" valign="top">
|
||||
<asp:Label ID="lblUseCCS" runat="server" Text="Use Centralized Certificate Store:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:CheckBox ID="cbUseCCS" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="Normal" valign="top">
|
||||
<asp:Label ID="lblCCSUNCPath" runat="server" Text="Centralized Certificate Store UNC path :"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:TextBox ID="txtCCSUNCPath" runat="server" CssClass="NormalTextBox" Width="400px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="Normal" valign="top">
|
||||
<asp:Label ID="lblCCSUNCCommonPassword" runat="server" Text="Centralized Certificate Store common password (blank for none):"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:TextBox ID="txtCCSCommonPassword" runat="server" CssClass="NormalTextBox" Width="400px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tr>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:Label ID="lblADIntegration" runat="server" meta:resourcekey="lblADIntegration" Text="Active Directory Integration:"></asp:Label>
|
||||
|
|
|
@ -225,6 +225,16 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
FilteredAppIds = settings["GalleryAppsFilter"];
|
||||
radioFilterAppsList.SelectedIndex = Utils.ParseInt(settings["GalleryAppsFilterMode"], 0);
|
||||
chkGalleryAppsAlwaysIgnoreDependencies.Checked = Utils.ParseBool(settings["GalleryAppsAlwaysIgnoreDependencies"], false);
|
||||
|
||||
// If any of these exists, we assume we are running against the IIS80 provider
|
||||
if (settings["SSLCCSCommonPassword"] != null || settings["SSLCCSUNCPath"] != null || settings["SSLUseCCS"] != null || settings["SSLUseSNI"] != null)
|
||||
{
|
||||
IIS80SSLSettings.Visible = true;
|
||||
cbUseCCS.Checked = Utils.ParseBool(settings["SSLUseCCS"], false);
|
||||
cbUseSNI.Checked = Utils.ParseBool(settings["SSLUseSNI"], false);
|
||||
txtCCSUNCPath.Text = settings["SSLCCSUNCPath"];
|
||||
txtCCSCommonPassword.Text = settings["SSLCCSCommonPassword"];
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveSettings(StringDictionary settings)
|
||||
|
@ -314,6 +324,15 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
settings["GalleryAppsFilter"] = GetAppsCatalogFilter();
|
||||
settings["GalleryAppsFilterMode"] = radioFilterAppsList.SelectedIndex.ToString();
|
||||
settings["GalleryAppsAlwaysIgnoreDependencies"] = chkGalleryAppsAlwaysIgnoreDependencies.Checked.ToString();
|
||||
|
||||
|
||||
if (IIS80SSLSettings.Visible)
|
||||
{
|
||||
settings["SSLUseCCS"] = cbUseCCS.Checked.ToString();
|
||||
settings["SSLUseSNI"] = cbUseSNI.Checked.ToString();
|
||||
settings["SSLCCSUNCPath"] = txtCCSUNCPath.Text;
|
||||
settings["SSLCCSCommonPassword"] = txtCCSCommonPassword.Text;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2014, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
@ -814,6 +786,87 @@ namespace WebsitePanel.Portal.ProviderControls {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditDomainsList sharedSslSites;
|
||||
|
||||
/// <summary>
|
||||
/// IIS80SSLSettings control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl IIS80SSLSettings;
|
||||
|
||||
/// <summary>
|
||||
/// lblUseSNI control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblUseSNI;
|
||||
|
||||
/// <summary>
|
||||
/// cbUseSNI control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbUseSNI;
|
||||
|
||||
/// <summary>
|
||||
/// lblUseCCS control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblUseCCS;
|
||||
|
||||
/// <summary>
|
||||
/// cbUseCCS control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox cbUseCCS;
|
||||
|
||||
/// <summary>
|
||||
/// lblCCSUNCPath control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCCSUNCPath;
|
||||
|
||||
/// <summary>
|
||||
/// txtCCSUNCPath control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCCSUNCPath;
|
||||
|
||||
/// <summary>
|
||||
/// lblCCSUNCCommonPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCCSUNCCommonPassword;
|
||||
|
||||
/// <summary>
|
||||
/// txtCCSCommonPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCCSCommonPassword;
|
||||
|
||||
/// <summary>
|
||||
/// lblADIntegration control.
|
||||
/// </summary>
|
||||
|
|
|
@ -76,10 +76,10 @@ namespace WebsitePanel.Portal
|
|||
set { ViewState["PackageId"] = value; }
|
||||
}
|
||||
|
||||
private bool IsDedicatedIP
|
||||
private bool AllowSsl
|
||||
{
|
||||
get { return (bool)ViewState["IsDedicatedIP"]; }
|
||||
set { ViewState["IsDedicatedIP"] = value; }
|
||||
get { return (bool)ViewState["AllowSsl"]; }
|
||||
set { ViewState["AllowSsl"] = value; }
|
||||
}
|
||||
|
||||
private bool IIs7
|
||||
|
@ -111,7 +111,7 @@ namespace WebsitePanel.Portal
|
|||
|
||||
// remove "SSL" tab for a site with dynamic IP
|
||||
var sslTab = filteredTabs.SingleOrDefault(t => t.Id == "SSL");
|
||||
if (!IsDedicatedIP && sslTab != null)
|
||||
if (!AllowSsl && sslTab != null)
|
||||
filteredTabs.Remove(sslTab);
|
||||
|
||||
|
||||
|
@ -277,15 +277,24 @@ namespace WebsitePanel.Portal
|
|||
webSitesCustomErrorsControl.BindWebItem(site);
|
||||
webSitesHeliconZooControl.BindWebItem(site);
|
||||
|
||||
if (site.IsDedicatedIP)
|
||||
// If SNI is enabled on the server, we do allow for SSL even if site not has dedicated Ip
|
||||
var sniEnabled = false;
|
||||
var serverSettings = ES.Services.Servers.GetServiceSettings(site.ServiceId);
|
||||
var sniEnabledItem = serverSettings.FirstOrDefault(s => s.StartsWith("sslusesni"));
|
||||
if (sniEnabledItem != null)
|
||||
{
|
||||
sniEnabled = Utils.ParseBool(sniEnabledItem.Split('=')[1], false);
|
||||
}
|
||||
|
||||
if (site.IsDedicatedIP || sniEnabled)
|
||||
{
|
||||
IsDedicatedIP = true;
|
||||
AllowSsl = true;
|
||||
WebsitesSSLControl.Visible = true;
|
||||
WebsitesSSLControl.BindWebItem(site);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsDedicatedIP = false;
|
||||
AllowSsl = false;
|
||||
WebsitesSSLControl.Visible = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue