Docker中Nginx配置SSL证书

前言

在之前的努力中,我已经建立了自己的服务站点,安装了一系列很有意思的服务,之后为了增强安全性,采用https访问,这就需要配置SSL证书。

配置

查看Nginx的宿主机挂载目录

docker inspect nginx

得到以下结果 ![[Pasted image 20230916101624.png]] 在服务器创建ssl目录,用来存放ssl证书

mkdir /var/nginx/ssl

查看证书文件是否同步

docker exec -it nginx /bin/bash
cd /etc/nginx/ssl
ls

退出容器后,修改nginx.conf增加ssl配置

server {
    listen 443;
    ssl on;
    ssl_certificate      ssl/xxx.xxx.xxxxx.xxx.pem;
    ssl_certificate_key  ssl/xxx.xxx.xxxxx.xxx.key;
    sendfile on;
    ...

重启Docker容器

docker restart nginx

设置http自动跳转为https:

server {
    listen 80;
    server_name xxx.xxxxx.xxxx;
    return 301 https://$host$request_uri;
}

拓展

进行以上的步骤,https就已经安装完成了,为了更好地防御恶意访问,我们关闭ip访问,只能通过域名访问,需要在nginx.conf文件中添加这一段:

server {
    listen 80 default_server;
    listen 443 default_server;
    ssl_certificate ssl/xx.xxxx.xxxx.pem;
    ssl_certificate_key ssl/xxx.xxx.xxxx.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497 https://$host$request_uri;
    server_name _;
    return 403;
}

后记

之后可能会将上述过程中的一些配置细节做一个详细的补充,看心情喽。 ┗|`O′|┛

v2-71523ee606e0032d3ad12af0b1627289_720w.webp

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇