栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 环境下给docker容器Nginx配置HTTPS

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 环境下给docker容器Nginx配置HTTPS

初始环境

腾讯云服务器

阿里云域名 + 阿里云免费SSL

docker环境

Nginx服务器

ps: Nginx挂着主机目录很重要,可以参考我之前的配置教程

传送门 ———> Docker一站式配置Nginx【图文教程】

传送门 ———> Docker一站式配置Nginx【图文教程】

传送门 ———> Docker一站式配置Nginx【图文教程】

申请SSL证书

登录阿里云,搜索SSL


申请成功后点击下载(由于我的是Nginx服务器,下载Nginx相关证书)

解压并更改名称后得到两个文件(key 和 pem)

查看Nginx挂载目录

docker inspect nginx

我的配置文件挂载目录为 "/usr/nginx/config/:/etc/nginx/",

那么就可以在这里进行配置Nginx

首先在/usr/nginx/config/下创建cert文件夹,用于存放证书文件

我这里已经创建并上传,不再重复创建上传

[root@VM-12-11-centos config]# cd /usr/nginx/config/
[root@VM-12-11-centos config]# pwd
/usr/nginx/config
[root@VM-12-11-centos config]# ls
cert conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
[root@VM-12-11-centos config]#

[root@VM-12-11-centos config]# cd cert/
[root@VM-12-11-centos cert]# ls
part_wenmeng.key part_wenmeng.pem wenmeng.key wenmeng.pem

编写Nginx认证HTTPS配置文件

java项目访问配置

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name part.wenmeng.online; #需要将yourdomain替换成证书绑定的域名。
    ssl_certificate cert/part_wenmeng.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/part_wenmeng.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
       proxy_pass https://54.4.44.56:9999; #服务器内网地址
	   add_header Access-Control-Allow-Origin *;
    }
}

静态文件配置(其中location中内容不同)

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name part.wenmeng.online; #需要将yourdomain替换成证书绑定的域名。
    ssl_certificate cert/part_wenmeng.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/part_wenmeng.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
		charset utf-8;
        default_type 'text/html';
        root /usr/share/nginx/html/online;
        index index.html;
        add_header Access-Control-Allow-Origin *;
    }
}
将http转为HTTPS请求配置
server {
    listen 80;
    server_name part.wenmeng.online; //更换为你的域名
    rewrite ^(.*)$ https://part.wenmeng.online; //更换为你的域名
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号