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

相关推荐
桂月二二4 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
Ai 编码助手5 小时前
在 Go 语言中如何高效地处理集合
开发语言·后端·golang
小丁爱养花5 小时前
Spring MVC:HTTP 请求的参数传递2.0
java·后端·spring
Channing Lewis5 小时前
什么是 Flask 的蓝图(Blueprint)
后端·python·flask
hunter2062065 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb6 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角6 小时前
CSS 颜色
前端·css
九酒6 小时前
从UI稿到代码优化,看Trae AI 编辑器如何帮助开发者提效
前端·trae
浪浪山小白兔7 小时前
HTML5 新表单属性详解
前端·html·html5
轩辕烨瑾7 小时前
C#语言的区块链
开发语言·后端·golang