如何在StandAlone(Indy)IntraWeb应用程序中启用HTTPS
以下来自官方Demo说明:
1)设置ServerController.SSLOptions.Port = 443(您也可以使用任何其他端口,但是443是标准HTTPS端口)
2)生成证书。在开发过程中,您可以使用自签名证书。
在此处免费获取一个:https
:
//zerossl.com 3)如果您从ZeroSSL.com获得了自签名证书,则将文件重命名为:crt.txt-> cert.pem key.txt-
> key.pem
4 )下载“让我们加密根证书”。您可以在这里找到它:https://letsencrypt.org/certificates/
单击链接“ ISRG Root X1(自签名)”并保存。
5)将在(4)中获得的根证书重命名为root.pem。6
)将所有3个PEM文件(从上面的3-5)保存到IW EXE所在的文件夹中(*不是*在wwwroot文件夹中!)
7)从此处下载OpenSSL:https://indy.fulgan.com/SSL/
选择与您的服务器兼容的最新版本。请记住,32位应用程序需要32位DLL,而64位应用程序则需要64位DLL。
因此,Indy Fulgan DLL具有Win32和Win64后缀。
8)提取OpenSSL存档并将libeay32.dll和ssleay32.dll复制到IW EXE所在的文件夹中。
9)生成并运行您的应用程序。请注意,所有浏览器都会警告您您的自签名证书无效。
这是正常现象,是可以预期的。自签名证书的工作方式与普通证书一样,但是它们不受浏览器的信任。
您需要添加此证书作为例外,以便浏览器将其作为普通证书接受。
注意:其他感兴趣
的属性a)ServerController.SSLOptions.NonSSLRequest->可能的值为:
-nsAccept:将接受使用HTTP(非安全)的请求。HTTPS请求也将起作用。
-nsBlock:使用HTTP(非安全)的请求将被阻止,HTTPS(安全)请求将起作用
-nsRedirect:使用HTTP的请求将重定向到HTTPS请求。除协议外,将使用相同的URL,
有关设置此属性的示例代码,请参见ServerController.OnConfig事件。
b)TIWForm.ConnectionMode->可能的值为:
-cmAny:此表单将同时接受HTTP和HTTPS请求
-cmSecure:此表单将仅接受HTTPS请求
-cmNonSecure:此表单将仅接受HTTP(非安全)请求
有关设置此属性的示例代码,请参见表单的OnCreate evenf。
2)生成证书。在开发过程中,您可以使用自签名证书。
在此处免费获取一个:https
:
//zerossl.com 3)如果您从ZeroSSL.com获得了自签名证书,则将文件重命名为:crt.txt-> cert.pem key.txt-
> key.pem
4 )下载“让我们加密根证书”。您可以在这里找到它:https://letsencrypt.org/certificates/
单击链接“ ISRG Root X1(自签名)”并保存。
5)将在(4)中获得的根证书重命名为root.pem。6
)将所有3个PEM文件(从上面的3-5)保存到IW EXE所在的文件夹中(*不是*在wwwroot文件夹中!)
7)从此处下载OpenSSL:https://indy.fulgan.com/SSL/
选择与您的服务器兼容的最新版本。请记住,32位应用程序需要32位DLL,而64位应用程序则需要64位DLL。
因此,Indy Fulgan DLL具有Win32和Win64后缀。
8)提取OpenSSL存档并将libeay32.dll和ssleay32.dll复制到IW EXE所在的文件夹中。
9)生成并运行您的应用程序。请注意,所有浏览器都会警告您您的自签名证书无效。
这是正常现象,是可以预期的。自签名证书的工作方式与普通证书一样,但是它们不受浏览器的信任。
您需要添加此证书作为例外,以便浏览器将其作为普通证书接受。
注意:其他感兴趣
的属性a)ServerController.SSLOptions.NonSSLRequest->可能的值为:
-nsAccept:将接受使用HTTP(非安全)的请求。HTTPS请求也将起作用。
-nsBlock:使用HTTP(非安全)的请求将被阻止,HTTPS(安全)请求将起作用
-nsRedirect:使用HTTP的请求将重定向到HTTPS请求。除协议外,将使用相同的URL,
有关设置此属性的示例代码,请参见ServerController.OnConfig事件。
b)TIWForm.ConnectionMode->可能的值为:
-cmAny:此表单将同时接受HTTP和HTTPS请求
-cmSecure:此表单将仅接受HTTPS请求
-cmNonSecure:此表单将仅接受HTTP(非安全)请求
有关设置此属性的示例代码,请参见表单的OnCreate evenf。