我是靠谱客的博主 淡淡哑铃,最近开发中收集的这篇文章主要介绍踩坑配置HTTPS(docker,nginx,aliyun),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、购买证书,如果要求的级别不那么高的话,可以申请Symantec的免费型DV SSL,这个是免费的。

2、证书的申请:如实填写相关的信息,很快就可以验证完成。

3、证书下载:根据服务器的类型下载相关类型的证书,这里我选择的是Nginx类型的。

4、配置nginx:编辑nginx.conf文件,重启nginx。 

docker 运行nginx的语句,请忽略这乱糟糟的路径:

docker run -d
        --name nginx  
        -p 80:80 -p 443:443
        -v `pwd`/conf.d:/etc/nginx/conf.d
        -v `pwd`/nginx.conf:/etc/nginx/nginx.conf
        -v `pwd`/html:/etc/nginx/html
        -v `pwd`/cert:/etc/nginx/cert
        nginx

查看nginx的运行状态:docker ps|grep nginx

5、验证:在浏览器上输入你配置的域名,然后你就可以看到一个小锁的标志

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

为什么我配置完成之后,http请求可以正常访问,https 不能正常访问??

1、nginx是不是没有正常监听443端口?  

     通过netstat -an 查看443端口正常监听。

2、nginx.conf 文件中关于证书的配置是不是有问题?别人的证书都是***.pem 和***.key 而我的是***.crt和***.key

     通过openssl 的命令,把***.crt 转化成***.pem,上传到服务器,然后重新启动nginx,问题依然没有解决。:(

后面的事实证明这个好像没有什么关系。

3、是不是阿里云服务器没有打开443端口?

    通过阿里云的控制台,查看安全组规则,果然没有配置。配置上443端口,重启nginx ,问题就解决了。

4、为什么我直接按照上面的docker命令,NGINX根本就运行不起来,一起来就挂了?

因为你一开始运行的时候,你在容器外的nginx.conf 和conf.d里面是空的,导致容器内的nginx的配置文件也是空的,能跑起来就奇怪了?现在有两种方法:1、从别的NGINX去抄一个配置文件过来,包括nginx.conf和conf.d;2、先不挂载配置文件,直接让nginx 运行起来,然后使用docker cp 命令把容器内的配置文件复制出来,然后在使用挂载命令,把复制出来的配置文件,有映射到容器里面。

5、一切都按照之前自己总结的步骤去操作,为什么有不能实现nginx 跳转呢?

最后知道真相的我眼泪掉下来,我特么把域名解析给配置错了……被自己蠢哭,域名解析的IP 是外网IP。

 

 

最后

以上就是淡淡哑铃为你收集整理的踩坑配置HTTPS(docker,nginx,aliyun)的全部内容,希望文章能够帮你解决踩坑配置HTTPS(docker,nginx,aliyun)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部