使用80端口部署前端项目后,您可以通过IP+端口号在公网访问已部署的项目。
ICP域名注册后,可以通过域名解析封装IP,访问域名直接访问部署的项目~
如果想使用http协议,可以通过修改nginx.conf文件轻松实现。更多信息,请参阅Docker在服务器上部署多个前端- Docker部署的项目有两个前端怎么办?
server_name localhost;#这里把localhost改成你的域名即可
但是,当您通过http协议访问该网站时,您会收到一条消息,提示该网站不安全。要使用端口443 访问您的项目,您必须使用https 协议。
因此,您需要在您的服务器官网为您的域名申请SSL证书。申请成功后,将SSL 文件直接下载到您的本地。您可以检索这两个域名的.crt和.key文件。
首先进入服务器上的/etc/ssl/certs/目录,通过后续容器的启动将这两个文件挂载到nginx 内部的/etc/ssl/certs/目录中。否则,将安装ssl 文件。读取失败
接下来按照前面的前端部署方法,先在前端打包项目,得到dist文件夹。
转到您的服务器并在任意位置创建一个项目文件夹。然后放到dist文件夹下,开始创建其他文件
1.Dockerfile
# 使用NGINX作为基础镜像
来自nginx
# 将解压后的网站文件复制到NGINX默认路径
复制rme//usr/share/nginx/html/
# 将NGINX配置文件复制到容器内的NGINX配置目录中
复制default.conf /etc/nginx/conf.d/default.conf
2.默认配置
上游我的服务器{
服务器域名:8080; # 后端服务器地址
保持活力2000。
}
服务器{
听80。
#输入绑定证书的域名
server_name 域名,localhost;
#将http域名请求转换为https。这和用户访问http时自动跳转到https是一样的,避免出现不安全的网页提示。
返回值301 https://$host$request_uri;
}
服务器{
443 监听SSL。
server_name 域名.cn;
#证书文件名
ssl_certificate_key /etc/ssl/certs/域名.key;
#私钥文件名.crt 和.pem 都可以
ssl_certificate /etc/ssl/certs/域名.crt;
ssl_session_timeout 1d;
ssl_session_cache 共享:SSL:50m;
ssl_session_tickets 已关闭。
ssl_协议TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM- 56:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256 -SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
ssl_prefer_server_ciphers 已打开。
位置/{
根/usr/share/nginx/html;
try_files $uri $uri //index.html;
索引index.htmlindex.htm;
}
错误页面500 502 503 504 /50x.html;
位置=/50x.html {
根html;
}
}
3.set.sh
#!/bin/bash
# 构建一个名为test的Docker镜像
docker build -t 测试。
# 检查是否有构建好的镜像
如果docker镜像是grep -q test;
echo \’镜像测试已经存在。继续下一步……”
除此之外
echo \’错误:镜像测试不存在!请先构建镜像。 \’
1号出口
菲
# 运行容器
#docker run -d -p 80:80 –name test 测试
# 创建一个新的nginx容器并配置SSL证书
docker run –name test -p 80:80 -p 443:443 -v /usr/local/nginx/logs:/var/log/nginx -v /etc/ssl/certs:/etc/ssl/certs –privileged=true -d – -restart=始终测试
# 检查容器是否正常运行
if docker ps -a –filter \’name=^test $\’ –format \'{{.Status}}\’ grep -q \’Up\’ |
echo \’容器测试运行成功!\’
除此之外
echo \’错误:容器测试执行失败!\’
菲
在这里,您将在/etc/ssl/certs/目录中找到dist 前端资源文件夹、Dockerfile 镜像构建文件、default.conf nginx 配置文件以及ssl 证书文件和set.sh 执行脚本。
cd 到当前目录并输入./set.sh 以运行启动脚本。
完成~~~
以上#Docker部署前端、配置域名、SSL源网络等相关内容仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92330.html