配置前端域名及nginx反向代理

目录

前端配置域名

nginx反向代理


  • 前端配置域名
1. 在web程序中增加镜像推送文件
    1.1 配置dockerfile
          FROM nginx:stable
 
          COPY default.conf /etc/nginx/conf.d/
 
          COPY dist /usr/share/nginx/html
 
          VOLUME /usr/share/nginx/html
 
          VOLUME /etc/nginx

        default.conf
           server {
                listen 80;
                # gzip config
                gzip on;
                gzip_min_length 1k;
                gzip_comp_level 9;
                gzip_types text/plain text/css text/javascript application/json            application/javascript application/x-javascript application/xml;
                gzip_vary on;
                gzip_disable "MSIE [1-6]\.";
 
                root /usr/share/nginx/html;
 
                location / {
                    try_files $uri $uri/ /index.html;
                }
            }

    1.2 推送镜像脚本(chmod +x ./push.sh)
         
        set -ex
        image=xxx/zz208 // 镜像位置
        tag=prod-$(date "+%Y%m%d%H%M%S") // 版本号
        docker login -u xxx -p xxx  // 登录账号密码
        docker build -t $image:$tag -f ./Dockerfile . // docker file 位置
        docker push  $image:$tag
        docker tag  $image:$tag $image:latest
        docker push  $image:latest
        echo "编译成功" 

 2. 在服务器上拉取并运行镜像
    2.1 拉取镜像脚本 (chmod +x ./pull.sh)
        set -x
        app_name=xxx
        image=xxx/$app_name
 
        docker rm -f $app_name
        docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 2>/dev/null
        docker login -u xxx -p xxx // 登录账号 密码
        docker pull $image:latest
        docker run -d --name $app_name -p 9003:80 \
        $image:latest // -p 指定外部访问端口:内部端口
        docker ps | grep $app_name 
    2.2 访问url:9003

3. 配置http访问
    3.1 配置域名解析
        记录类型:
         A-将域名向一个IPV4地址

        主机记录:
         alg  .cpenny.club

        记录值 :
        47.87.204.169
    3.2 nginx 配置
        server {
            listen 80;
    		server_name alg.cpenny.club;
    		location / {
       		    proxy_pass http://47.87.204.169:9003;
    		}
         }
    3.3 访问 http://alg.cpenny.club
4. 配置https访问
    4.1 ssl 证书下载
    4.2 证书配置 拉取证书密钥 拷贝到服务器 nginx参考
        server {
            listen 443 ssl;
            server_name alg.cpenny.club;
 
            ssl_certificate alg.pem; // 证书密钥
            ssl_certificate_key alg.key; // 同上
 
            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
            ssl_prefer_server_ciphers on;
            location / {
                proxy_pass http://47.87.204.169:9003;
            }
        }
    4.3 访问 https://alg.cpenny.club

 

  • nginx 反向代理
1. docker 安装nginx

1.1 docker search nginx 选择镜像版本(http://nginx.org/en/download.html Stable version 稳定版)

1.2 docker pull nginx 拉取镜像(默认最新版)

1.3 docker images nginx 查看镜像是否拉取成功

2. docker nginx配置挂载
2.1 docker exec -it nginx /bin/sh 以终端的方式打开镜像容器(查看nginx配置路径)

    /etc/nginx/nginx.conf 

    /etc/nginx/conf.d/default.conf	默认配置

    /usr/share/nginx/html	默认首页

    /var/log/nginx	默认日志

2.2 在系统中创建挂载源文件和文件夹

    mkdir -p /usr/nginx/conf
    mkdir -p /usr/nginx/conf.d

    创建文件并配置

    /usr/nginx/conf/nginx.conf

    /usr/nginx/conf.d/default.conf

3. 配置反向代理

3.1 配置http
```
监听80端口
server {
    listen  80;
    server_name  www.if404.com;
    access_log /var/log/nginx/if404.access.log main;
    error_log /var/log/nginx/if404.error.log error;
    location / {
        proxy_set_header  Host  $http_host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://服务器IP:9001;
    }
}

docker run  --name mynginx -d -p 80:80 -v /usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/nginx/conf.d:/etc/nginx/conf.d nginx
```

3.2 配置https
```
监听443端口

server {
    listen 443 ssl;
    server_name minio.cpenny.club; #配置域名。
    root html;
    index index.html index.htm;
    ssl_certificate /etc/nginx/conf/xxx.pem;   # 配置证书
    ssl_certificate_key /etc/nginx/conf/xxx.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass http://服务器IP:9001;
    }
}
docker run  --name mynginx -d -p 443:443 -v /usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/nginx/conf/xxx.pem:/etc/nginx/conf/xxx.pem -v /usr/nginx/conf/xxx.key:/etc/nginx/conf/xxx.key -v /usr/nginx/conf.d:/etc/nginx/conf.d  nginx 
```


其他操作
ubuntu 安装nginx

sudo apt-get install nginx 安装nginx(可指定版本)

nginx -v(查看是否安装成功及nginx版本)

/etc/nginx/conf.d (在此配置页面新增代理设置)

service nginx stop/start/restart (nginx 基本操作命令)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值