php - 关于iosApp的https适配的问题
阿神
阿神 2017-04-11 09:44:34
0
2
393

一、事情描述:
接到上面的通知说iosApp从2017.1.1起要用https。公司有个项目html5的线上商城,用yii1框架开发,问题来了,搞开发iosApp的把商城html页面嵌套在其中,那么现在问题来了
二、问题
1、由于iosApp要适配https,所以所有的请求要用https,那么嵌套在iosApp的这个yii1开发的商城的代码层要动吗?
2、商城的代码我粗粗看了下,还引用到其他服务器的静态资源,图片资源,都是http请求,不过资源的域名都有写在配置项里,如果要同步iosApp的https是不是要把资源的请求都换成https?
3、个人感觉一个由iosApp的问题来改一个php框架的代码的做法老是觉得有问题?

阿神
阿神

闭关修行中......

全部回复(2)
伊谢尔伦

是的,不应该修改php代码。而且修改也没用。因为https是需要在nginx或者你的apache上面配置的。改php框架是无法实现的。

伊谢尔伦

设置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了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板