tags: docker, reverse-proxy, nginx-proxy, nginx , HTTPS,SSL
上一期我讲过怎么用 Nginx 反向代理把使用一个80端口支持多个网站. 今天我来介绍一下怎么结合companion 来实现HTTPS. 这样你就可以把你的HTTP的网站或者服务变成HTTPS的服务. 这个方法会自动生成证书, 你不需要手动管理你的证书.
以下是视频中用到的代码
[bash]
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
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
[/bash]
-~-~~-~~~-~~-~-
本频道旨在分享生活中各种小技巧, 如用小米盒子看国内视频, 如何使用KODI看电影等等. 同时我也会分享一些编程的教程, 如编写Telegram机器人, 建站等。 点击进入我的频道: goo.gl/5tyxcf
🔷 订阅我的频道: goo.gl/KuF3bY
🔷 telegram电报群: t.me/fengsharegroup
🔷 我的博客: www.dengnz.com/blog
🔷 Facebook: www.facebook.com/fengnz
🔷 Twitter: https://twitter.com/fennng
觉得我的视频对你帮助很大的话, 请我喝杯咖啡吧
微信赞赏码: goo.gl/uKoE8w
-~-~~-~~~-~~-~-
Feng
没有评论:
发表评论