详解Nginx服务器和iOS的HTTPS安全通信
发布时间 - 2026-01-11 02:04:57 点击率:次详解Nginx服务器和iOS的HTTPS安全通信

简介
在网络通信中,使用抓包软件可以对网络请求进行分析,并进行重放攻击,重放攻击的解决方案一般是使用一个变化的参数,例如RSA加密的时间戳,但考虑到网络传输时延,时间戳需要有一定的误差容限,这样仍然不能从根本上防止重放攻击。想要较好的解决重放攻击问题,应考虑使用HTTPS通信,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
实现
对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网页被正常的浏览,否则会被警告是不安全或者未认证的网站,而对于一些后台数据的传输,使用自签署的证书即可。
服务端的配置
生成证书
在服务器的命令行下进行如下操作
①生成服务端的私钥,需要输入一个4~8191位的密码
openssl genrsa -des3 -out server.key 2048
②去除key文件的密码,这里需要输入①中填写的密码
openssl rsa -in server.key -out server.key
③生成csr文件,这一步要求输入多种信息,可以全部按回车跳过
openssl req -new -key server.key -out server.csr
④生成crt文件,这一步中的-days后为有效期,可以写长一点
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
⑤合并crt与key制作pem,用于后面生成cer以供客户端验证
cat server.crt server.key > server.pem
⑥用pem生成cer,cer文件存放在客户端用于验证
openssl x509 -in server.pem -outform der -out server.cer
2.修改nginx配置文件
如果不知道配置文件的路径,使用下面的命令来打印。
nginx -t
这个命令可以用来测试配置文件是否正确,同时也会打印出路径。
根据打印的内容,打开nginx.conf,可以发现其中有一个http { … } 配置标签,在http标签中添加一个server配置标签。
server {
listen 443;
server_name localhost;
# 配置网站的根目录和首页的文件名和类型
index index.html index.htm index.php;
root <这里填写网站的根目录>
ssl on;
ssl_certificate <这里填写crt文件server.crt的全路径>
ssl_certificate_key <这里填写私钥key文件server.key的全路径>
# 下面是对php的配置,如果不配置,将无法正常解析php文件,这段配置是从nginx对HTTP的80端口配置中复制过来的,如果这段配置不能正常工作,请从自己的服务器对80端口的配置文件中复制过来。
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
# 这里如果不知道如何填写,请参考80端口的配置文件
include <nginx的conf目录路径>/rewrite/default.conf;
access_log <nginx服务器日志的路径>/default.log;
}
3.更新配置
nginx -t #测试配置文件是否正确 nginx -s reload #重新加载配置文件
到这里,服务端的配置就结束了。
客户端的配置
如果是CA颁发的证书,直接使用HTTPS请求即可,但我们是自签署证书,如果直接访问会报错,下面介绍一下使用AFN来配置自签署证书的HTTPS请求的方法。
1.将上文提到的cer证书导入到App的Bundle中
将server.cer导入bundle
2.在使用AFN进行请求前,先进行如下配置
AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey]; policy.allowInvalidCertificates = YES; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.securityPolicy = policy; // 下面使用manager进行HTTPS请求即可。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Nginx服务器和iOS的HTTPS安全通信
# iOS的HTTPS安全通信
# IOS-MVC层读取服务器接口JSON数据
# ios 服务器端推送证书生成的方法
# iOS APP 多服务器环境分离的方法
# iOS将相册中图片上传至服务器的方法
# Java使用NioSocket手动实现HTTP服务器
# iOS视频压缩存储至本地并上传至服务器实例代码
# IOS用AFN发送字符串形式的Json数据给服务器实例
# iOS 使用AFN上传视频到服务器示例代码
# IOS开发教程之put上传文件的服务器的配置及实例分享
# IOS利用CocoaHttpServer搭建手机本地服务器
# 配置文件
# 重放
# 服务端
# 客户端
# 这段
# 是否正确
# 自己的
# 放在
# 也会
# 是由
# 有一定
# 是从
# 这一步
# 希望能
# 较好
# 考虑到
# 报错
# 谢谢大家
# 介绍一下
# 首页
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何在景安服务器上快速搭建个人网站?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
原生JS实现图片轮播切换效果
iOS中将个别页面强制横屏其他页面竖屏
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何用PHP工具快速搭建高效网站?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何快速搭建虚拟主机网站?新手必看指南
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何用y主机助手快速搭建网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel怎么实现模型属性的自动加密
微信公众帐号开发教程之图文消息全攻略
Laravel distinct去重查询_Laravel Eloquent去重方法
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Python文件流缓冲机制_IO性能解析【教程】
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
制作企业网站建设方案,怎样建设一个公司网站?
怎么用AI帮你为初创公司进行市场定位分析?
如何快速搭建高效香港服务器网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
详解CentOS6.5 安装 MySQL5.1.71的方法
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
如何在IIS中配置站点IP、端口及主机头?
jQuery中的100个技巧汇总
如何在建站之星绑定自定义域名?
如何在IIS7上新建站点并设置安全权限?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel如何升级到最新版本?(升级指南和步骤)
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
C语言设计一个闪闪的圣诞树
如何在腾讯云服务器上快速搭建个人网站?
如何将凡科建站内容保存为本地文件?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何在万网自助建站中设置域名及备案?
Laravel安装步骤详细教程_Laravel环境搭建指南
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Android使用GridView实现日历的简单功能
如何用西部建站助手快速创建专业网站?
bing浏览器学术搜索入口_bing学术文献检索地址

