nginx一台服务器部署多个域名和证书

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx一台服务器部署多个域名和证书相关的知识,希望对你有一定的参考价值。

参考技术A 手头有俩域名,而且在某云可以拿到一年免费的域名证书。但是由于服务器比较贵,只有一台和对应的公网ip,想怎么支持https证书不会出错的情况下,两个域名都解析到同一个服务器。
所以找了如下的配置。 这里我加了个跳转,如果不需要的也可以不用加跳转。总结来说实现了在资源不够的情况下,稍微变通,同一个ip支持在不同域名下证书有效,即一个ip可以部署多个https网站。

配置就全部拿过来了,注意添加的注释。

以上就是本次的内容,简单做个记录。

一台物理机器部署多个docker

参考技术A 部署多个docker有两种方式,一种是让容器映射端口到宿主机,然后可以直接从外部访问到该端口,一种是利用nginx做转发,容器端口不对外暴露。

这种是容器在建立的时候,使用-p参数来将容器的端口绑定到宿主机的端口上面,直接输入宿主机ip+端口可以直接访问服务。如果觉得麻烦,也可以使用nginx来做转发,根据不同的域名来转发到不同的端口上面。下面是nginx文件

所有访问 www.iotxing.com 的请求都会被转发到http://127.0.0.1:8000上面,然后由占用8000端口的docker容器里面的nginx进行处理。

这种方式存在的一个劣势是访问的地址都会带一个8000的端口号,类似于 www.iotxing.com:8000/postxx 这种,会显得很难看

docker有一套自己的网络管理, 每个docker容器都会有一个docker虚拟出来的网卡,然后会被分配一个内部ip ,这个内部网络里面只有宿主机和容器之间才能访问,外界是无法访问到的。

由于宿主机可以根据这个ip访问到容器,自然也可以将服务转发到该ip上面,而且还是80端口,不用另开端口

这样就能够解决使用端口转发所带来的端口后缀的问题,下面是我的nginx配置文件

跟上面的区别就是proxy_pass里面的内容

以上是关于nginx一台服务器部署多个域名和证书的主要内容,如果未能解决你的问题,请参考以下文章

Nginx部署多个站点

详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

Docker+Docker-compose部署项目+Nginx配置域名、证书

一台物理机器部署多个docker

宝塔面板如何部署启用ssl证书?