docker使用nginx实现ssl(https)反向代理其他容器应用

安装nginx容器

搜索nginx镜像

docker search nginx

拉取最新版nginx

docker pull nginx:latest

运行容器

docker run --name=nginx -p 443:443 -v /nginx/conf.d:/etc/nginx/conf.d -d nginx

--name=nginx: 容器名称。
-p 443:443: 端口进行映射,将本地 443 端口映射到容器内部的 443 端口。
-d nginx: 设置容器在在后台一直运行。

容器内安装sz、rz

apt-get update && apt-get install lrzsz

docker容器中安装vi命令

apt-get update
apt-get install vim

进入容器,上传证书到容器

上传根据域名生成的证书,比如 fullchain1.pem(公钥)  privkey1.pem(密钥)

监听443端口,通过nginx代理应用网站


/etc/nginx/nginx.conf中加入如下配置:

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;
    #server是新增的配置
    server {
        listen       443 ssl;
        #server_name  svr.com.cn
        ssl_certificate     fullchain1.pem;   #公钥,证书
        ssl_certificate_key privkey1.pem;     #密钥

        location / {
            proxy_set_header    X-FORWARDED-FOR $remote_addr;
            proxy_set_header    X-FORWARDED-PROTO $scheme;
            proxy_set_header    Host   $http_host;
            proxy_pass          http://192.168.xxx.xxx:80;  #代理的应用 宿主机IP:容器映射到宿主机的端口
        }

    } 

}

重载nginx服务

service nginx reload

将域名svr.com.cn映射到nginx所在的宿主机IP(配置DNS映射,或者改hosts文件)

通过域名访问应用

https://svr.com.cn

查看nginx代理应用(svr.com.cn)访问日志(应用容器id为 09a1c)

docker logs -f 09a1c

原文地址:https://www.cnblogs.com/jun-zi/p/12189434.html

时间: 2024-10-17 05:54:36

docker使用nginx实现ssl(https)反向代理其他容器应用的相关文章

Nginx部署SSL证书反向代理

1.环境简介 使用一台centos6.4系统部署Nginx反向代理,代理客户的网站,客户需要提供ssl证书,可以到ca认证中心申请,由于第一次部署因此闹了不少乌龙. 2.安装Nginx,配置方向代理 (1)安装依赖环境 yum -y install gcc* pcre zlib (2)安装Nginx yum -y install nginx (3)编辑配置文件 vi /etc/nginx/conf.d/default.cof server { # listen 80 ; listen 443 s

apache https反向代理设置方案

通过设置一台apache服务器完成对  https://10.6.177.66内容的访问,后来经过学习才了解,我们其实就是需要在自己的apache服务器中,创建一个https://10.6.177.66的反向代理.首先介绍一下何为反向代理: 一.反向代理的概念 反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载. Web服务器加速(反向代理)是针对Web服务器提供

编译安装Apache HTTP Server 2.4.23 以及配置HTTP/HTTPS反向代理

编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理一,依赖软件: 1.1 GCC和C++编译器 GCC C++ Compiler 1.1.1 如果没有安装以上依赖包请执行以下命令安装: [[email protected] ~]# yum install -y gcc gcc-c++ 1.1.2 如果已经安装其中一个,可以单独执行以下命令安装其中一个: [[email protected] ~]# yum install -y gcc[[email p

Nginx实现MogileFS的反向代理

MogileFS简介: MogileFS是一个开源的分布式文件存储系统,MogileFS适用于存储海量小文件的工作场景,由LiveJournal旗下的Danga Interactive公司开发,该团队开发了包括 Memcached.MogileFS.Perlbal 等多个知名的开源项目. MogileFS的组成: 1.server:主要包括mogilefsd和mogstored两个应用程序.mogilefsd实现的是tracker,它通过数据库(通常是MySQL)来保存元数据信息,包括站点dom

Nginx的安装及反向代理设置

因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5.tar.gztar -zxvf nginx-1.0.5.tar.gzcd nginx-1.0.5./configuremakemake install 二.反向代理设置编辑Nginx的配置文件vi /usr/local/nginx/conf/nginx.conf,替换server { }的{ }中的

nginx和tomcat实现反向代理、负载均衡和session共享

这类的文章非常多,nginx和tomcat实现反向代理.负载均衡实现非常easy,能够參照http://blog.csdn.net/liuzhigang1237/article/details/8880752 但tomcat借助memcache实现session共享非常麻烦(和jar的版本号有关),这里做个记录. 我的tomcat的版本号是7.0.53,须要加入的jar是: couchbase-client-1.2.0 javolution-5.4.3.1 Memcached-Java-Clie

Nginx负载均衡,反向代理,再从防火墙做转发后,css样式与端口丢失!

Nginx负载均衡,反向代理,再从防火墙做转发后,报错,用外网IP+端口访问,结果css样式与端口都丢失!!!!!内网IP+端口访问,正常! 解决思路:用chrome的network标签,分析项目的路径与端口!将配置文件中无用的干掉! 亲测改好的配置文件,注意注释信息!!!! vi conf/nginx.conf worker_processes  auto; worker_rlimit_nofile 10000; events {     worker_connections  2048;  

Debian/Ubuntu下Nginx的安装、反向代理和负载均衡的基本配置

源码安装 去Nginx官网下载最新稳定版,这里用的是nginx-1.6.3版. 下载完成后解压缩,进入该目录执行: ./configure 如果你的机器上没有安装PCER库.zlib库等,这一步会出错. sudo apt-get install libpcre3-dev zlibc zlib-bin 然后执行: sudo make sudo make install 完成后,nginx会默认安装在/usr/local/nginx目录下. 反向代理的基本配置 nginx默认使用的配置文件在/use

CentOS中实现Nginx负载均衡和反向代理

一.安装必要软件 负载均衡服务器:IP设置为192.168.1.10 Web服务器1:安装Apache或者Nginx,IP设置为192.168.1.11: Web服务器2:安装Apache或者Nginx,IP设置为192.168.1.12. 二.配置负载均衡服务器 1.在Nginx的conf目录下新建extra文件夹,并在其下边编辑生成一个配置文件,比如t_servers.conf upstream test_servers { server 192.168.1.11:80 weight=5;