首页 > 系统相关 >【代码片段】使用docker部署nginx 并通过nginx设置密码访问控制

【代码片段】使用docker部署nginx 并通过nginx设置密码访问控制

时间:2024-06-01 21:58:45浏览次数:23  
标签:http log etc 访问控制 nginx proxy conf docker

使用docker部署nginx服务

docker-compose.yml

version: '3'

services:
  web:
    image: nginx
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always
    ports:
      - "80:80"
      - "443:443"
    environment:
      - NGINX_HOST=fengleer.cn
      - NGINX_PORT=80

conf文件


user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log notice;
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;

    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen 80 default_server;
        server_name jupyter.my.local;
        client_max_body_size 1G;
        location / {
            proxy_pass http://172.17.0.1:8086;
            proxy_connect_timeout 3s;
            proxy_read_timeout 5s;
            proxy_send_timeout 3s;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_redirect off;
        }
    }
}


配置密码

安装依赖

sudo apt-get install apache2-utils

生成用户名,密码对

#创建新的密码文件
htpasswd -c ./ht.passwd test

#向密码文件中追加用户
htpasswd -c ./ht.passwd test1

将密码文件挂载到docker中

volumes:
  - ./nginx.conf:/etc/nginx/nginx.conf
  - ./ht.passwd:/etc/nginx/ht.passwd

针对对应的服务添加用户访问控制

    server {
        # ----
        location / {
            # ---
            auth_basic "Please enter your username and password";
            auth_basic_user_file /etc/nginx/htpasswd;
            autoindex on;
        }
    }

标签:http,log,etc,访问控制,nginx,proxy,conf,docker
From: https://blog.csdn.net/fengle_er/article/details/139380363

相关文章

  • PowerShell 来操作 Windows 防火墙,实现网络访问控制和防火墙规则的设置。下面是一些常
    PowerShell来操作Windows防火墙,实现网络访问控制和防火墙规则的设置。下面是一些常见的PowerShell命令,用于创建阻止特定类型文件传输协议的规则和限制电子邮件附件的规则:阻止FTP传输协议:powershellCopyCodeNew-NetFirewallRule-DisplayName"BlockFTP"-DirectionOu......
  • 如何在nginx配置静态资源
    1#指定Nginx使用的工作进程数,这里设置为1,生产环境中应根据CPU核心数调整以提高性能。2worker_processes1;34events{5#设置每个工作进程可以同时处理的连接数,这里是1024。6worker_connections1024;7}89http{10#包含MIME类型文件......
  • 使用docker部署项目
    一、docker私有镜像仓库1、docker私有镜像仓库库(Repository)是集中存放镜像的地方,又分为公共镜像和私有仓库。当我们执行dockerpullxxx的时候,它实际上是从registry.docker.com这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目上传到公共......
  • 宝塔Linux面板-Docker管理(2024详解)
    上一篇文章《宝塔Linux可视化运维面板-详细教程2024》,详细介绍了宝塔Linux面板的详细安装和配置方法。本文详细介绍使用Linux面板管理服务器Docker环境。目录1、安装Docker1.1在线安装​编辑 1.2手动安装1.3运行状态1.4镜像加速2应用商店 3总览 4容器4.1......
  • Docker安装Jenkins详解
    目录Docker安装Jenkins1.下载Jenkins2、创建挂载目录3、启动Jenkins容器4、验证Jenkins容器是否启动成功5、获取管理员密码6、修改插件源7、登录web页面8、插件推荐Docker安装Jenkins话不多说,下面直接开始1.下载Jenkins使用下面命令,让docker拉取镜像,dockerpulljenkins/jenkins......
  • nginx编译安装手把手教学
    编译安装nginx的第一步需要从nginx的官网找到nginx最新的稳定版本下面这是官方网站的资源下载地址https://nginx.org/en/download.html选中稳定版本点击右键——选择复制链接在终端内使用wget指令+官网下载地址,将nginx下载使用wget指令下载wgethttps://nginx.org/......
  • 震惊!不掺杂一点水分的docker harbor搭建干货!
    生产环境dockerharbor搭建环境已包含docker和docker-compose下载dockerharbor下载地址:https://github.com/goharbor/harbor/releases/修改配置文件并安装root@harbor:/opt#tarzxfharbor-online-installer-v2.10.2.tgzroot@harbor:/opt#cdharbor/root@harbo......
  • Linux安装nginx
    Nginx的安装包,从官方下载下来的是c语言的源码包,我们需要自己编译安装。具体操作步骤如下:1).安装Nginx运行时需要的依赖yuminstall-ypcrepcre-develzlibzlib-developensslopenssl-devel安装C语言的编译环境.yuminstallgcc-c++2).上传Nginx的源码包3).解压源码包......
  • Nginx 1.26.0 爆 HTTP/3 QUIC 漏洞,建议升级更新到 1.27.0
    据悉,Nginx1.25.0-1.26.0主线版本中涉及四个与NGINXHTTP/3QUIC模块相关的中级数据面CVE漏洞,其中三个为DoS攻击类型风险,一个为随机信息泄漏风险,影响皆为允许未经身份认证的用户通过构造请求实施攻击。目前已经紧急发布NGINX开源版(稳定版)1.26.1和NGINX开源版(主线版......
  • docker
    一、什么是Docker 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 什么是DockerDocker和虚拟机的区别Docker架构Docker如何解决依赖的兼容问题的?将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将......