如何使用 Nginx-proxy 反向代理把HTTP网站(服务)变成HTTPS

  • fennng 

上一期我讲过怎么用 Nginx 反向代理把使用一个80端口支持多个网站. 今天我来介绍一下怎么结合companion 来实现HTTPS. 这样你就可以把你的HTTP的网站或者服务变成HTTPS的服务. 这个方法会自动生成证书, 你不需要手动管理你的证书.

https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

上期视频: https://youtu.be/0TITtRXp6P4

以下是视频中用到的代码

sudo docker network rm feng-net
sudo docker network create feng-net

sudo docker rm -f nginx-proxy
sudo docker run -p 80:80 -p 443:443 \
    -d \
    --name nginx-proxy \
    --network feng-net \
    --network-alias nginx-proxy-host\
    -v /usr/share/nginx/html \
    -v /etc/nginx/vhost.d \
    -v /var/run/docker.sock:/tmp/docker.sock:ro \
    jwilder/nginx-proxy


sudo docker rm -f nginx-proxy
sudo docker run -p 80:80 -p 443:443 \
    -d \
    --name nginx-proxy \
    --network feng-net \
    --network-alias nginx-proxy-host\
    -v  /home/fennng/certs:/etc/nginx/certs:ro \
    -v /etc/nginx/vhost.d \
    -v /usr/share/nginx/html \
    -v /var/run/docker.sock:/tmp/docker.sock:ro \
    --label com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy \
    jwilder/nginx-proxy


sudo docker rm -f companion
sudo docker run \
    -d \
    --name companion \
    --network feng-net \
    --network-alias companion-host \
    -v /home/fennng/certs:/etc/nginx/certs:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --volumes-from nginx-proxy \
    jrcs/letsencrypt-nginx-proxy-companion



sudo docker rm -f www
sudo docker run \
    -d \
    -e VIRTUAL_HOST=www.fengnz.tk \
    -e "LETSENCRYPT_HOST=www.fengnz.tk" \
    -e "LETSENCRYPT_EMAIL=soody@qq.com" \
    --network feng-net \
    --network-alias  www-host \
    --name www  \
    -p 81:80 \
    nginxdemos/hello

sudo docker rm -f bbs
sudo docker run \
    -d \
    -e VIRTUAL_HOST=bbs.fengnz.tk \
    -e "LETSENCRYPT_HOST=bbs.fengnz.tk" \
    -e "LETSENCRYPT_EMAIL=soody@qq.com" \
    --network feng-net \
    --network-alias  bbs-host \
    --name bbs  \
    -p 82:8000 \
    crccheck/hello-world

sudo docker run --name web-test1 -p 80:80 -d --rm nginxdemos/hello
sudo docker run --name web-test2 -p 80:8000 -d --rm crccheck/hello-world


发表评论

电子邮件地址不会被公开。 必填项已用*标注