本文主要讲述在Docker中怎么配置Nginx

一、Docker中安装Nginx请参考:https://www.cnblogs.com/whereGo/p/13523597.html

二、配置Nginx:

1、进入Nginx容器 

docker exec -it nginx bash     #进入nginx容器

 2、容器里面需要安装Vim

apt-get update   #这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
apt-get install -y vim

3、查看Nginx配置文件

cd etc/nginx         #进入Nginx目录
cat nginx.conf       #查看配置文件

 4、编辑http配置文件

(1)http配置

cd /etc/nginx/conf.d    #进入上图红色框中的目录
vim default.conf          #vim进入编辑该文件

 

server {
    listen       80;   #访问端口
    listen  [::]:80;
    server_name  ems.shuzhaocl.top;   #访问ip地址或域名

    location / {
        proxy_pass http://102.122.56.92:80;    #转发http地址
    }
}

(2)https配置

a、先退出容器并把https签名文件放到容器目录中

exit     #退出容器
docker cp /ShuZhaoCL/4899247_ems.shuzhaocl.top_nginx.zip nginx:/etc/nginx/HttpsSignatureFiles     #copy签名文件到容器指定文件夹

进入nginx容器下的etc/nginx/HttpsSignatureFiles目录

unzip 4899247_ems.shuzhaocl.top_nginx.zip   #解压文件

如果出现以下错误,则安装unzip

apt-get install unzip    #容器中安装unzip

 b、解压成功以后配置default.conf文件

cd /etc/nginx/conf.d    #进入上图红色框中的目录
vim default.conf          #vim进入编辑该文件

 

server {
    listen        443 ssl;    #访问端口(https)
    listen   [::]:443 ssl;
    server_name  ems.shuzhaocl.top;     #访问IP地址或域名

    ssl_certificate  /etc/nginx/HttpsSignatureFiles/4899247_ems.shuzhaocl.top.pem;    #域名的签名文件pem地址
    ssl_certificate_key  /etc/nginx/HttpsSignatureFiles/4899247_ems.shuzhaocl.top.key;        #域名的签名文件key地址
    ssl_session_timeout 100000m;
   
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:RC4;
    ssl_prefer_server_ciphers on;
   
    location / {
        proxy_pass https://102.122.56.92:443;     #转发的https地址
    }
}

 5、查看配置文件是否无误并重启nginx容器;

nginx -t              #在容器中输入该命令查看配置文件是否正确

 

 如上图所示则为正确,重启nginx容器:

exit     #退出容器
docker restart nginx       #重启nginx容器