一、事情描述:
接到上面的通知说iosApp从2017.1.1起要用https。公司有个项目html5的线上商城,用yii1框架开发,问题来了,搞开发iosApp的把商城html页面嵌套在其中,那么现在问题来了
二、问题
1、由于iosApp要适配https,所以所有的请求要用https,那么嵌套在iosApp的这个yii1开发的商城的代码层要动吗?
2、商城的代码我粗粗看了下,还引用到其他服务器的静态资源,图片资源,都是http请求,不过资源的域名都有写在配置项里,如果要同步iosApp的https是不是要把资源的请求都换成https?
3、个人感觉一个由iosApp的问题来改一个php框架的代码的做法老是觉得有问题?
伊谢尔伦2017-04-11 09:46:34
设置HTTPS和PHP代码没有关系,主要被设置在apache或者nginx上面,如果你的服务只有apache,那么设置在apache就可以了。
打开ssl模块,没有这个模块就需要安装依赖包:mod_ssl,安装后就会在modules里面找到:
LoadModule ssl_module modules/mod_ssl.so
引入ssl配置文件,增加支持ssl:
Include conf/extra/httpd-ssl.conf(去掉行首的注释)
修改加密文件ssl.conf,安装好的httpd,在conf.d目录下面有ssl.conf配置文件,我们需要在里面配置一个VirtualHost和配置证书和密钥:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:!RC4:
<VirtualHost _default_:443> # 必须有一个虚拟主机,这样才可以使用跳转功能和使用443端口访问
DocumentRoot "/home/store/webroot"
Servername https://xxx.com/
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/httpd/conf/cert/xxx.com.crt
SSLCertificateKeyFile /etc/httpd/conf/cert/xxx.com.key
</VirtualHost>
对于第二个问题,只需要吧http改成https就可以了,对于图片等一些资源没有任何影响
对于第三个问题,根据需求调整服务端或者客户端并没有什么怪异的,只要吧问题解决就OK了