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

相关推荐
程序员爱钓鱼1 小时前
Go语言实战案例-创建模型并自动迁移
后端·google·go
javachen__1 小时前
SpringBoot整合P6Spy实现全链路SQL监控
spring boot·后端·sql
阿珊和她的猫3 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
uzong6 小时前
技术故障复盘模版
后端
GetcharZp7 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
加班是不可能的,除非双倍日工资7 小时前
css预编译器实现星空背景图
前端·css·vue3
桦说编程7 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研7 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi8 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip8 小时前
vite和webpack打包结构控制
前端·javascript