恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Windows 下 Nginx + Flask 应用迁移阿里云完整部署指南(附安全加固)

  • 首页
  • 资讯中心
  • /
  • Windows 下 Nginx + Flask 应用迁移阿里云完整部署指南(附安全加固)

相关资讯

OwlCarousel2 响应式轮播插件:从入门到精通的完整实践指南 2026/8/2 19:08:16
鸿蒙 ArkTS 入门实战:家庭家务积分的交互入口与布局基础 2026/8/2 19:08:16
【硬核】2026 Java 进阶指南:Spring AI 2.0 + JDK 25 实战 Agent 开发 2026/8/2 19:08:17

最新资讯

结构化任务规划方法论:Dillinger 仓库 plan-writing 技能详解与实战验证
深入 Tuta Mail 客户端代码库:架构、构建、测试与代码分块实战指南
《Windows Server 2022》 [2026年9月版 ] [简体/繁体/英文][官方ISO] 下载
杭州app网站设计速查手册:不会代码也能搞定SEO
AI论文工具怎么选?11款工具按任务对照,选对效率翻倍!
GitHub Desktop 发布说明写作规范与自动化流程解析

今日推荐

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Windows 下 Nginx + Flask 应用迁移阿里云完整部署指南(附安全加固)

发布时间:2026/9/27 7:10:47
Windows 下 Nginx + Flask 应用迁移阿里云完整部署指南(附安全加固) 阿里云 Nginx Flask 应用部署配置文档适用场景将现有 Flask 应用监听 5000 端口迁移到阿里云服务器使用 Nginx 提供 HTTPS 反向代理并确保后端服务仅限本机访问。一、环境准备1. 服务器信息示例操作系统Windows Server 2022 / 2019本流程基于 Windows公网 IP123.123.123.123替换为实际 IP域名your-domain.com替换为实际域名SSL 证书已获取your-domain.com的证书文件.crt/.key2. 所需软件NginxWindows 版下载地址建议稳定版Python 环境若 Flask 应用依赖Python 3.8已创建虚拟环境如venv二、安装 Nginx 并放置证书将 Nginx 压缩包解压到C:\nginx。将 SSL 证书文件your-domain.com_bundle.crt和your-domain.com.key放入C:\nginx\conf\目录。三、配置 Nginx编辑C:\nginx\conf\nginx.conf内容如下替换your-domain.com为实际域名worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # HTTP 强制跳转 HTTPS server { listen 80; server_name your-domain.com www.your-domain.com; return 301 https://$host$request_uri; } # HTTPS 反向代理 server { listen 443 ssl; server_name your-domain.com www.your-domain.com; ssl_certificate C:/nginx/conf/your-domain.com_bundle.crt; ssl_certificate_key C:/nginx/conf/your-domain.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; # 根路径重定向到 /login若后端未定义 / location / { return 302 /login; } # 所有请求转发到本地 5000 端口后端应用 location / { proxy_pass http://127.0.0.1:5000; 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 https; } } }四、启动 Nginx以管理员身份打开 PowerShell。进入 Nginx 目录cd C:\nginx测试配置文件语法nginx-t若显示syntax is ok和test is successful继续。启动 Nginxnginx或使用start nginx在新窗口启动。验证端口监听netstat-ano|findstr :80 netstat-ano|findstr :443应看到LISTENING状态。五、配置 Flask 后端应用仅监听 127.0.0.1关键安全措施确保后端应用只监听本地地址拒绝外网直接访问。1. 修改启动脚本如wsgi.py如果使用waitress或flask run务必显式指定host127.0.0.1。示例wsgi.pyfromtreasureimportcreate_appfromwaitressimportserve appcreate_app()if__name____main__:serve(app,host127.0.0.1,port5000,threads8)2. 检查并移除环境变量覆盖在启动前检查是否存在覆盖变量$env:WAITRESS_HOST$env:FLASK_RUN_HOST若输出0.0.0.0需移除或修改为127.0.0.1。3. 启动后端应用进入项目目录激活虚拟环境如有执行python wsgi.py观察启动日志确认显示Serving on http://127.0.0.1:50004. 验证监听地址另开一个 PowerShell 窗口netstat-ano|findstr :5000期望结果TCP 127.0.0.1:5000 0.0.0.0:0 LISTENING 1234IP 为127.0.0.1而非0.0.0.0六、加固网络安全双重保险1. 删除可能存在的端口转发规则netsh interface portproxy show all若有任何涉及 80 或 443 的转发规则将其删除。例如netsh interface portproxy delete v4tov4 listenaddress0.0.0.0 listenport802. 添加 Windows 防火墙阻止 5000 端口入站即使应用绑定了127.0.0.1仍建议封堵外网访问netsh advfirewall firewall add rule nameBlock_5000dirin actionblock protocolTCP localport50003. 配置阿里云安全组登录阿里云控制台进入实例的安全组配置入方向规则只保留80和443端口放行来源0.0.0.0/0。删除任何允许5000端口的规则。七、测试访问浏览器访问http://your-domain.com- 应自动跳转到https://your-domain.com。访问https://your-domain.com/login- 应正常显示登录页面。访问https://your-domain.com- 应跳转到/login因配置了location /重定向。从外部网络如手机流量访问http://123.123.123.123:5000- 应连接超时或拒绝访问证明后端已隔离。八、日常运维命令速查操作命令管理员 PowerShell测试 Nginx 配置cd C:\nginx; nginx -t重载 Nginx 配置不中断服务nginx -s reload优雅停止 Nginxnginx -s quit强制停止 Nginxnginx -s stop查看 Nginx 进程tasklist | findstr nginx查看端口监听netstat -ano | findstr :80或:443或:5000实时查看 Nginx 访问日志Get-Content C:\nginx\logs\access.log -Wait实时查看 Nginx 错误日志Get-Content C:\nginx\logs\error.log -Wait九、开机自启配置可选若希望服务器重启后 Nginx 自动启动可将以下命令放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\start_nginx.batecho off cd /d C:\nginx start nginx或使用WinSW将 Nginx 封装为 Windows 服务推荐生产环境。十、常见问题排查现象可能原因解决方案Nginx 启动报bind() to 0.0.0.0:80 failed (10013)端口被占用残留 Nginx、IIS、iphlpsvc 等使用netstat -ano | findstr :80找出 PID结束进程若为iphlpsvc检查并删除netsh portproxy规则访问 HTTPS 显示证书错误证书路径或域名不匹配检查ssl_certificate路径和域名是否一致访问页面出现 502 Bad Gateway后端应用未启动或未监听 5000检查后端进程及netstat | findstr 5000访问根路径返回 404后端应用未定义/路由在 Nginx 中添加location / { return 302 /login; }或后端添加路由外网仍能访问 5000 端口云安全组未关闭 5000 入站去阿里云控制台删除该规则十一、总结本配置实现了HTTP 自动跳转 HTTPSNginx 反向代理到本地 Flask 应用后端应用仅监听127.0.0.1外网无法直接访问防火墙和云安全组双重加固日常运维命令齐备按照此文档运维人员可快速完成部署并确保生产环境安全稳定。文档版本1.1适用系统Windows Server最后更新2026-07-21

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号