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

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

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

无法正常访问。

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

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

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

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

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

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

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

bash 复制代码
unzip /etc/nginx/cert/umi.liboqiao.top_nginx.zip -d /etc/nginx/cert/

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

ini 复制代码
#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 的理解。希望这篇文章对您有所帮助。如果有任何错误或疑问,请指出,我们一起学习进步。

相关推荐
孟祥_成都37 分钟前
【全网最通俗!新手到AI全栈开发必读】 AI 是如何进化到大模型的
前端·人工智能·全栈
牛奶1 小时前
AI辅助开发的基础概念
前端·人工智能·ai编程
Victor3561 小时前
MongoDB(23) 如何使用条件查询文档?
后端
摸鱼的春哥1 小时前
Agent教程15:认识LangChain,Agent框架的王(上)
前端·javascript·后端
Victor3561 小时前
MongoDB(22)如何批量插入文档?
后端
明月_清风2 小时前
自定义右键菜单:在项目里实现“选中文字即刻生成新提示”
前端·javascript
明月_清风2 小时前
告别后端转换:高质量批量导出实战
前端·javascript
刘发财7 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
追逐时光者8 小时前
一款使用 C# 编写专为 Windows 11 打造的文件资源管理器增强工具!
后端·.net