如何在“登录页面子目录”中安装HTTPS?试图安装,但它没有工作。我对在主目录中安装HTTPS犹豫不决,因为主站点没有任何问题,只有登录页面需要是HTTPS。 TIA ...
答案 0 :(得分:2)
如果您要将用户重定向到HTTP,则需要SSL,有免费证书并支付证书费用(您可以谷歌搜索您的选项)。
在设置SSL时:它需要通过IIS或Apache将您的站点绑定到您的证书。
以下是两篇描述每个途径的文章:
IIS 8或8.5:https://www.digicert.com/ssl-certificate-installation-microsoft-iis-8.htm
那些应该涵盖你的基础知识。
之后,您应该可以将用户重定向到https://example.com/login.cfm,或者将您的用户重定向到HTTPS。
答案 1 :(得分:1)
在你的Application.cfc中,向onRequestStart添加一个函数imposeHttps()
<cffunction name="onRequestStart" returnType="boolean" output="false">
<cfset imposeHttps() />
<!--- some of your other code --->
</cffunction>
和私人imposeHttps()
<cffunction name="imposeHttps" access="private" output="false" returntype="void">
<cfif CGI.REQUEST_METHOD IS NOT "GET">
<cfreturn />
</cfif>
<cfset var patterns = [
"^/foo/",
"^/bar/",
"^/etc/",
"^/login.cfm",
"^/foo_secure.cfm",
"^/some_secure.cfm"
] />
<cfif REFindNoCase("(" & ArrayToList(patterns, ")|(") & ")", CGI.SCRIPT_NAME)>
<cfif !CGI.SERVER_PORT_SECURE>
<cflocation url="#"https://" & CGI.SERVER_NAME & CGI.SCRIPT_NAME & (CGI.QUERY_STRING EQ "" ? "" : ("?" & CGI.QUERY_STRING))#" addtoken="No">
</cfif>
</cfif>
</cffunction>
对子文件夹/ foo,/ bar,/ etc的调用将通过https进行,并且还调用文件login.cfm,foo_secure.cfm和root中的some_secure.cfm将通过cflocation强制安全。