LogoLogo
github
  • 💪Upupup
  • React
    • hook
    • redux
    • Router
    • umimax+nest.js 实现 权限管理系统
    • umimax + Nest.js 实现权限管理系统
  • Vue
    • effectScope 是干啥的
    • Object.assign()
    • 响应式理解
    • @babel/preset-env 问题
    • 自定义指令
    • 问题及解决
    • 🧐权限管理(动态路由)
  • docker
    • Docker 常用命令
    • Docker部署遇到的问题
    • Docker Compose 常用命令
    • docker修改daemon.json
    • jenkins
    • Jenkinsfile 语法进阶
    • nginx配置
    • 问题
    • 玩转Nginx:轻松为Docker部署的服务添加域名的完美指南
    • Docker部署前后端项目:经验分享与问题解决
  • git
    • command
    • problem
    • rebase实践
  • 前端开发面试题集
    • CSS 面试题
    • 前端工程化面试题
    • HTML 面试题
    • JavaScript 面试题
    • NestJS 面试题
    • Node.js 面试题
    • 性能优化面试题
    • React 面试题
    • 安全面试题
    • Vue 面试题
  • interviewer
    • 计算机网络
    • 性能优化
  • leetcode
    • 算法
      • 分治算法
      • 滑动窗口与双指针
        • 🦸定长滑动窗口
        • 🚴不定长滑动窗口
        • 🚴‍♂️单序列双指针
      • 回溯
      • 二分法
  • nestjs
    • mail
    • mini-order
    • nestjs
    • prisma
    • 登录注册
  • nextjs
    • 用 V0 和 Cursor 实现全栈开发:从小白到高手的蜕变
  • tauri
    • 思路
    • 自动通知应用升级
  • vite
    • vite实现原理
  • webpack
    • 资料
  • 工具
    • Eslint
    • jenkins
    • 关于cicd
  • 微信小程序
    • ScoreDeck
    • h5跳转小程序问题
  • 思路
    • carTool
  • 操作系统学习
    • Linux命令
    • 计算机是如何计数的
    • nginx
      • location
      • try_files
  • 浏览器
    • session、location
    • web crypto
    • 性能监控和错误收集与上报
    • 预请求
  • 知识点整理
    • 知识点整理
  • 面试
    • Promise
    • 备战
    • 数码3
    • 腾娱
    • 腾讯云智
    • 重复请求合并
  • 前端工程化
    • 在 pnpm Monorepo 中使用公共方法包
由 GitBook 提供支持
在本页

这有帮助吗?

在GitHub上编辑
  1. docker

玩转Nginx:轻松为Docker部署的服务添加域名的完美指南

上一页问题下一页Docker部署前后端项目:经验分享与问题解决

最后更新于5个月前

这有帮助吗?

在使用 Docker 部署服务并添加域名时,遇到了问题。

Nginx Configuration Issue

无法正常访问。

后来咨询了运维同学,经过查看我的 Nginx 配置和 DNS 解析,发现将 http 改为 https 后问题解决了。运维同学解释说,HTTP 默认使用 80 端口,而 HTTPS 默认使用 443 端口。我的配置中只有 443 端口,所以改成了 https 才能正常访问。

我记录下了如何使用 Nginx 给服务添加域名的步骤:

备注: 我使用的是腾讯云,并且域名已备案。

首先,在腾讯云控制台搜索 SSL 证书,并申领免费证书。

填写域名/子域名,点击自动 DNS 验证即可。

签发完成后,下载证书,选择 Nginx 下载。

下载完成后,将证书放到服务器的 Nginx 上。您可以在配置文件夹下创建一个 cert 文件夹,用于存储域名证书。然后解压缩证书。我的配置文件夹位于 /etc/nginx/,以下是解压缩的命令(实际命令可能会有所不同):

unzip /etc/nginx/cert/umi.liboqiao.top_nginx.zip -d /etc/nginx/cert/

接着,在您的 nginx.conf 文件中,查看是否有类似于 include /etc/nginx/conf.d/*.conf; 的配置。如果没有,您可以在 http 部分添加这一行。conf.d 文件夹下的配置文件都可以作为域名的配置文件,这样配置会更清晰。

#umi.conf


 server {
        listen 443 ssl;
        # 域名名称
        server_name  umi.liboqiao.top;
        #证书地址
		ssl_certificate /etc/nginx/cert/umi.liboqiao.top_nginx/umi.liboqiao.top_bundle.pem;
		ssl_certificate_key /etc/nginx/cert/umi.liboqiao.top_nginx/umi.liboqiao.top.key;
		location / {
		    proxy_set_header X-Real-IP $remote_addr;
		    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header Host $http_host;
             proxy_set_header X-Nginx-Proxy true;
             proxy_set_header Connection "";
             #代理的域名
			proxy_pass http://127.0.0.1:8000;
		}
}

这是我的 umi.conf 文件内容。由于我在 Docker 中已经部署了 8000 端口,所以我直接代理到了 http://127.0.0.1:8000。

总结

通过这次使用 Nginx 给服务添加域名的经验,我学到了许多问题的解决方法,也加深了对 Nginx 的理解。希望这篇文章对您有所帮助。如果有任何错误或疑问,请指出,我们一起学习进步。

image-20240329101138373
DNS 验证
下载证书
证书下载选项
nginx.conf 配置

Github
umiadmin