随着小程序的崛起,这个卑鄙仅支持https域名,让我们很多人遇到了麻烦!这里我们谈谈http升级https.
关于这个问题,像阿里云、华为云、腾讯云等官方网站的技术贴中,都提到了具体的配置操作,网上很少有人提到相关的实现原理。甚至这些大平台也拒绝技术性的探讨,直接有商业性的链接“56元/次包解决问题”,让我们程序狗们看了很伤感。在这里我说说其中的小技术,希望能帮到有需要的朋友。
首先说明一个点,http升级是针对域名的一个操作,也就是有相关的操作需要作用到域名上。那么域名需要操作,就肯定动到域名解析,服务器定向域名的操作!
1)目前国内域名市场整合比较严谨,想把http做成加密的https协议,肯定需要保证你的域名是备案过的域名。有对备案存在疑问的小伙伴可以留言发文,看到后本狗会回复。
2)你的域名是备案过的,接下来就是申请SSL证书,这个证书是在你的备案通过的运营商来办理的!(如:楼主的域名是阿里云购买的,服务器在华为云,所以备案通过华为云备案,也就是我的SSL是通过华为云来申请的!)
申请SSL服务,又包括一个二级域名的申请(免费),还有全域申请(收费还不便宜)。什么意思,举个栗子:有个域名abc.com,我可以申请erji.abc.com的SSL,也可以申请 abc.com所有域名的SSL。(注意:即使是免费的,貌似也是每年一次申请)
3)申请SSL后,会得到一个解析的操作,这个操作相关的审核机构(比如我用的华为云)就会给你一个解析的配置,把这个配置配置到你的域名解析出(前面说过了我阿里云买的域名,就需要在阿里云那里配置)
4)申请SSL审核通过后,会有三个秘钥的生成操作,这里官网也会有相关的介绍和说明,但是不是很明确。其实就是把ssl的配置打开,秘钥放到相关服务环境(我用的apache)配置文件可以读取的位置,然后创建出一个关于https的虚拟机,默认端口443,同步类似apache的虚拟机配置。

原理就是如此,具体配置参数可以参照相关官方的说明技术贴。遇到问题的欢迎来此留言。着急的就直接发我邮件联系

配置demo:

Listen 9443
<VirtualHost _default_:9443>

	DocumentRoot "D:\php_web\tsdj"
	
	ServerName hlpt.zhihuixlf.com
	ServerAdmin 461953216@qq.com
	SSLEngine on

	SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
	SSLCertificateFile "D:\phpstudy_pro\Extensions\Apache2.4.39\conf\cert\hlpt.zhihuixlf.com_public.crt"
	SSLCertificateKeyFile "D:\phpstudy_pro\Extensions\Apache2.4.39\conf\cert\hlpt.zhihuixlf.com.key"
	SSLCertificateChainFile "D:\phpstudy_pro\Extensions\Apache2.4.39\conf\cert\hlpt.zhihuixlf.com_chain.crt"

	<FilesMatch "\.(cgi|shtml|phtml|php)$">
		SSLOptions +StdEnvVars
	</FilesMatch>
	<Directory "D:\phpstudy_pro\Extensions\Apache2.4.39\cgi-bin">
		SSLOptions +StdEnvVars
	</Directory>


	BrowserMatch ".*MSIE.*" \
			 nokeepalive ssl-unclean-shutdown \
			 downgrade-1.0 force-response-1.0


	CustomLog "D:\phpstudy_pro\Extensions\Apache2.4.39\https_log\ssl_request.log" \
			  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>                                  
                               

phpStudy生成SSL:

<VirtualHost *:9443>
    DocumentRoot "D:/php_web/hlpt"
    ServerName hlpt.zhihuixlf.com
    ServerAlias 
    SSLEngine on
    SSLCertificateFile "D:/phpstudy_pro/Extensions/Apache2.4.39/conf/ssl/hlpt.zhihuixlf.com.crt"
    SSLCertificateKeyFile "D:/phpstudy_pro/Extensions/Apache2.4.39/conf/ssl/hlpt.zhihuixlf.com.key"
    SSLCertificateChainFile "D:/phpstudy_pro/Extensions/Apache2.4.39/conf/ssl/hlpt.zhihuixlf.comchain.crt"
    FcgidInitialEnv PHPRC "D:/phpstudy_pro/Extensions/php/php5.2.17nts"
    AddHandler fcgid-script .php
    FcgidWrapper "D:/phpstudy_pro/Extensions/php/php5.2.17nts/php-cgi.exe" .php
  <Directory "D:/php_web/hlpt">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
     Require all granted
	  DirectoryIndex index.php index.html
  </Directory>
</VirtualHost>