Docker安装Nginx并配置免费SSL证书完成https访问

一、准备工作

1、安装Docker

https://blog.csdn.net/u011374856/article/details/103071964

2、创建目录

#nginx配置目录
mkdir -p /home/docker/nginx/conf/

#nginx静态目录
mkdir -p /home/docker/nginx/html/

#nginx日志目录
mkdir -p /home/docker/nginx/logs/

#nginx证书目录
mkdir -p /home/docker/nginx/cert/

3、创建bridge网络并指定IP区间,注意:多容器IP访问必备

#创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network

#查看已存在网络
docker network ls

二、申请证书

 阿里云SSL免费证书、其他SSL免费证书都可以,注意:免费证书有效期一年

三、配置文件

1、基本配置

 

2、证书相关配置

# 配置监听端口并开启ssl
listen 443 ssl;
# 配置访问域名
server_name www.xxxxx.com;
				
# 指定 ssl 证书路径
ssl_certificate cert/xxxxx.pem;
# 指定私钥文件路径
ssl_certificate_key cert/xxxxx.key;

ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

3、http强制转到https

server{
    listen 80;
		
    # 配置访问域名
    server_name www.xxxxx.com;
		
    # 把http的域名请求转成https
    rewrite ^(.*)$ https://$host$1 permanent; 
}	

 

四、安装Nginx

注意:安装之前/home/docker/nginx/conf目录下要有nginx.conf配置文件

Docker安装Nginx命令

网络:woniu_network,IP:172.0.0.2

端口:80/443

​​docker run -p 80:80 -p 443:443 \
--name nginx -d \
--restart=always \
--network woniu_network \
--ip 172.0.0.2 \
-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/docker/nginx/html:/usr/share/nginx/html \
-v /home/docker/nginx/logs:/var/log/nginx \
-v /home/docker/nginx/cert:/etc/nginx/cert \
nginx

五、测试

1、创建login.html页面

<html>
	<head>
	<meta charset="utf-8">
	<title>Nginx测试</title>
	</head>
	<body>
		<h1>Nginx测试</h1>
	</body>
</html>

2、把测试页面上传到/home/docker/nginx/html目录

3、访问地址

https://xxxxx/login.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Docker安装Nginx配置SSL证书的步骤如下: 1. 准备SSL证书:根据不同的云服务商,证书文件的后缀可能有所不同。腾讯云的证书文件后缀为.crt和.key,阿里云的证书文件后缀为.pem和.key。确保证书文件正确并可用。 2. 下载最新的Nginx镜像:使用以下命令下载最新的Nginx镜像: ``` docker pull nginx ``` 3. 创建目录:创建几个目录,用于挂载Nginx容器内的配置文件和日志文件。使用以下命令创建目录: ``` mkdir -p /usr/local/nginx/{conf,html,logs,ssl} ``` 4. 启动一个Nginx临时容器:使用以下命令启动一个Nginx临时容器,并将配置文件复制到主机上: ``` docker run --name nginx-temp -d nginx docker cp nginx-temp:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf docker rm -f nginx-temp ``` 5. 上传SSL证书:将SSL证书上传到服务器的指定目录,例如将证书文件复制到/usr/local/nginx/ssl目录下。 6. 修改nginx.conf配置文件:编辑/usr/local/nginx/conf/nginx.conf文件,配置SSL证书的路径。确保路径是在容器内的地址,而不是主机的地址。 7. 正式启动Nginx:使用以下命令启动Nginx容器,并将挂载目录和端口映射配置好: ``` docker run --name nginx -p 80:80 -p 443:443 \ -v /usr/local/nginx/html:/usr/share/nginx/html \ -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /usr/local/nginx/conf.d:/etc/nginx/conf.d \ -v /usr/local/nginx/logs:/var/log/nginx \ -v /usr/local/nginx/ssl:/etc/nginx/ssl \ --privileged=true -d --restart=always nginx ``` 8. 检查Nginx是否成功启动:使用以下命令检查Nginx容器是否成功启动: ``` docker ps ``` 以上是使用Docker安装Nginx配置SSL证书的步骤。请根据实际情况进行操作。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [docker安装nginx配置ssl证书](https://blog.csdn.net/LuoHuaX/article/details/127320361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值