gpt4 book ai didi

基于docker启动nginx ssl配置

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于docker启动nginx ssl配置由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前提条件 。

  • 一台云服务器(阿里云、腾讯云等的centOS)
  • 服务器上面要有docker(安装方法这里不做介绍)
  • 一个域名
  • ssl证书(两个文件:一个key后缀,一个pem后缀;生成方法很多这里不再介绍)

下载最新的nginx的docker image 。

docker pull nginx:latest 。

创建目录 nginx, 用于存放后面的相关东西 。

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf 。

把我们的静态HTML页面放到 /home/nginx/www 文件夹下面; 。

在创建的 /home/nginx/conf 文件夹下面创建一个叫 nginx.conf 的文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
user nginx;
worker_processes 1;
 
error_log /var/log/nginx/error .log warn;
pid    /var/run/nginx .pid;
 
 
events {
   worker_connections 1024;
}
 
 
http {
   include    /etc/nginx/mime .types;
   default_type application /octet-stream ;
 
   log_format main '$remote_addr - $remote_user [$time_local] "$request" '
            '$status $body_bytes_sent "$http_referer" '
            '"$http_user_agent" "$http_x_forwarded_for"' ;
 
   access_log /var/log/nginx/access .log main;
 
   sendfile    on;
   #tcp_nopush   on;
 
   keepalive_timeout 65;
 
   #gzip on;
 
   include /etc/nginx/conf .d/*.conf;

部署nginx 。

docker run -d -p 80:80 -p 443:443 --name nginx-server -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx   。

命令说明:

-p 80:80: 将容器的 80 端口映射到主机的 80 端口.

-p 443:443: 将容器的 80 端口映射到主机的 443 端口。 --name nginx-server:将容器命名为 nginx-server.

-v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html.

-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf.

-v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx.

启动之后便可以通过域名访问到我们的HTML页面了,但是还没完 。

修改nginx.conf 。

在我们刚刚创建的 nginx.conf 文件里面插入以下内容:(注意先不要重启) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
   listen    443 ssl;
   server_name fightingtop.cn www.fightingtop.cn;
   root     /usr/share/nginx/html ;
   ssl_certificate   /ssl/certificate .pem;
   ssl_certificate_key /ssl/2832429_fightingtop .cn.key;
   ssl_session_timeout 5m;
   ssl_session_cache  shared:SSL:1m;
   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;
 
   location / {
     root  /usr/share/nginx/html ;
     index index.html index.htm;
   }
}
 
server {
   listen 80;
   server_name fightingtop.cn www.fightingtop.cn;
   rewrite ^ https: // $host$1 permanent;
}

将两个证书文件拷贝到nginx容器 。

先进入nginx容器在根目录创建一个ssl文件夹,用来放证书 。

docker exec -it aa5badebd38a /bin/bash<br data-filtered="filtered">cd /<br data-filtered="filtered">mkdir ssl 。

开始拷贝证书 。

docker cp /home/ssl/certificate.key aa5badebd38a:/ssl/ docker cp /home/ssl/certificate.pem aa5badebd38a:/ssl/ 。

大功告成啦,重启完事! 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://www.cnblogs.com/mingweiyard/p/11535286.html 。

最后此篇关于基于docker启动nginx ssl配置的文章就讲到这里了,如果你想了解更多关于基于docker启动nginx ssl配置的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com