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

相关推荐
星星在线2 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒3 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x3 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
京东云开发者4 小时前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重5 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
用户8356290780515 小时前
使用 Python 操作 Word 内容控件
后端·python
像我这样帅的人丶你还5 小时前
啥? 前端也要会干Java?🛵🛵🛵
后端
Hommy885 小时前
【剪映小助手】添加贴纸接口(Add Sticker)
后端·github·剪映小助手·视频剪辑自动化·剪映api
Fireworks5 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆5 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程