2026/4/18 14:09:10
网站建设
项目流程
购买域名后 可以做网站么,福建刚刚发生大事,wordpress手机投稿,一个网站网站建设下来要花多少钱cv_resnet18_ocr-detection部署教程#xff1a;HTTPS安全访问配置
1. 背景与目标
随着OCR技术在文档数字化、自动化信息提取等场景中的广泛应用#xff0c;模型服务的安全性也日益受到关注。当前cv_resnet18_ocr-detection项目默认通过HTTP协议提供WebUI服务#xff0c;存…cv_resnet18_ocr-detection部署教程HTTPS安全访问配置1. 背景与目标随着OCR技术在文档数字化、自动化信息提取等场景中的广泛应用模型服务的安全性也日益受到关注。当前cv_resnet18_ocr-detection项目默认通过HTTP协议提供WebUI服务存在数据传输明文暴露的风险。为提升系统安全性本文将详细介绍如何为该OCR检测服务配置HTTPS加密访问确保图像和识别结果在传输过程中的机密性与完整性。本教程基于Linux服务器环境Ubuntu/CentOS使用Nginx作为反向代理服务器并通过OpenSSL自签名证书或Let’s Encrypt免费证书实现HTTPS加密。完成配置后用户可通过https://your-domain:port安全访问OCR WebUI界面。2. 环境准备2.1 前置条件已成功部署cv_resnet18_ocr-detection模型服务服务运行于本地端口7860服务器具备公网IP或已绑定域名具备root或sudo权限安装基础工具nginx,openssl,certbot可选2.2 安装依赖组件# Ubuntu/Debian sudo apt update sudo apt install nginx openssl certbot -y # CentOS/RHEL sudo yum install epel-release -y sudo yum install nginx openssl certbot -y启动并设置Nginx开机自启sudo systemctl start nginx sudo systemctl enable nginx3. 配置Nginx反向代理3.1 创建Nginx配置文件编辑新的站点配置sudo nano /etc/nginx/sites-available/ocr-https填入以下内容将your-domain.com替换为实际域名或服务器IPserver { listen 80; server_name your-domain.com; # 强制跳转至HTTPS return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name your-domain.com; # SSL证书路径后续生成 ssl_certificate /etc/ssl/certs/ocr-selfsigned.crt; ssl_certificate_key /etc/ssl/private/ocr-selfsigned.key; # 推荐的SSL安全参数 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512; ssl_prefer_server_ciphers off; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 启用HSTS可选 add_header Strict-Transport-Security max-age63072000 always; location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; # 设置超时 proxy_connect_timeout 60s; proxy_send_timeout 120s; proxy_read_timeout 120s; } # 静态资源缓存优化可选 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; add_header Cache-Control public, no-transform; } }3.2 启用站点配置sudo ln -s /etc/nginx/sites-available/ocr-https /etc/nginx/sites-enabled/ sudo rm -f /etc/nginx/sites-enabled/default # 移除默认站点测试配置是否正确sudo nginx -t若输出“syntax is ok”则重启Nginxsudo systemctl reload nginx4. 生成SSL证书4.1 方案一自签名证书适用于测试环境生成私钥和证书sudo mkdir -p /etc/ssl/private sudo mkdir -p /etc/ssl/certs sudo openssl req -x509 -nodes -days 365 \ -keyout /etc/ssl/private/ocr-selfsigned.key \ -out /etc/ssl/certs/ocr-selfsigned.crt \ -subj /CCN/STBeijing/LBeijing/OTechCorp/CNyour-domain.com \ -addext subjectAltNameDNS:your-domain.com注意浏览器会提示“不安全连接”需手动信任证书方可访问。4.2 方案二Let’s Encrypt免费证书推荐生产环境使用Certbot申请证书sudo certbot certonly --nginx -d your-domain.comCertbot会自动更新Nginx配置并管理证书续期。建议设置自动续期sudo crontab -e添加定时任务0 12 * * * /usr/bin/certbot renew --quiet更新Nginx配置中证书路径为Let’s Encrypt生成的实际路径ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;重新加载Nginxsudo systemctl reload nginx5. 启动OCR服务并验证HTTPS5.1 启动原始OCR服务进入项目目录并启动服务cd /root/cv_resnet18_ocr-detection bash start_app.sh此时服务仍监听http://0.0.0.0:7860但外部访问将通过HTTPS代理。5.2 验证HTTPS访问打开浏览器访问https://your-domain.com首次访问时 - 若使用自签名证书需点击“高级” → “继续前往网站” - 若使用Let’s Encrypt证书显示绿色锁标志表示连接安全页面应正常加载OCR WebUI界面且地址栏显示安全标识。6. 安全加固建议6.1 防火墙配置仅开放必要端口# Ubuntu UFW sudo ufw allow Nginx Full sudo ufw delete allow Nginx HTTP # 关闭HTTP sudo ufw enable # 或使用iptables sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -P INPUT DROP6.2 配置HTTP到HTTPS强制跳转已在Nginx配置中通过return 301实现80→443跳转确保所有请求均加密传输。6.3 定期备份与监控备份证书文件/etc/ssl/certs/和/etc/letsencrypt/监控Nginx日志/var/log/nginx/access.log和error.log设置服务健康检查脚本异常时自动重启7. 常见问题排查7.1 HTTPS无法访问可能原因及解决方法防火墙未开放443端口执行sudo ufw allow 443或检查云服务商安全组规则。DNS解析未生效使用ping your-domain.com确认域名指向正确IP。证书路径错误检查Nginx配置中ssl_certificate路径是否存在且权限正确。OCSP Stapling失败Let’s Encrypt确保服务器时间准确timedatectl set-ntp true7.2 页面加载缓慢或超时检查后端服务是否响应正常curl http://127.0.0.1:7860调整Nginx代理超时时间参考第3节配置减少大图上传避免长时间推理阻塞7.3 WebSocket连接失败Gradio类WebUI常使用WebSocket进行实时通信。确保Nginx配置包含以下头部proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade;否则可能导致“Connection refused”或“WebSocket disconnected”。8. 总结8. 总结本文详细介绍了为cv_resnet18_ocr-detectionOCR文字检测服务配置HTTPS安全访问的完整流程。通过引入Nginx反向代理结合自签名或Let’s Encrypt证书实现了从HTTP到HTTPS的安全升级。主要成果包括通信加密所有客户端与服务器之间的数据传输均经过TLS加密防止敏感图像和文本内容被窃听。身份验证使用可信CA签发的证书可增强用户对服务真实性的信任。兼容性保障保留原有Gradio WebUI功能的同时无缝集成HTTPS访问。可扩展架构Nginx代理模式便于后续扩展负载均衡、多服务路由等功能。此外文章提供了两种证书方案的选择建议开发测试阶段可使用OpenSSL自签名快速验证生产环境强烈推荐Let’s Encrypt免费证书以获得浏览器原生信任。完成配置后用户可通过安全链接稳定访问OCR服务适用于企业内部文档处理、客户数据上传等对隐私要求较高的场景。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。