引自免费微信小程序:皆我百晓生
根据您的需求,我将为您提供一个详细的Nginx配置示例。首先,您需要在Docker容器内创建一个新的Nginx配置文件,并将其与Nginx主配置文件关联起来。这里是一个步骤分解:
- 在您的本地机器上编辑一个名为
default.conf
的新文件,内容如下:
server {
listen 80;
server_name xlfdrj.cn;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name xlfdrj.cn;
ssl_certificate /etc/nginx/ssl/www.xlfdrj.cn.pem;
ssl_certificate_key /etc/nginx/ssl/www.xlfdrj.cn.key;
location / {
proxy_pass http://477.680.159.2:5001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这个配置文件包含两个部分:
- 第一个
server
块监听HTTP请求(端口80),并自动重定向到HTTPS。 - 第二个
server
块监听HTTPS请求(端口443),并且设置了SSL证书和密钥的位置,还定义了反向代理到您的后端服务。
- 将此文件复制到您的Docker镜像中。例如,如果您使用的是官方的Nginx镜像,您可以创建一个新的Dockerfile,如下所示:
FROM nginx:latest
COPY default.conf /etc/nginx/conf.d/default.conf
这会从构建上下文中复制default.conf
到Docker镜像中的正确位置。
- 构建Docker镜像:
docker build -t your-image-name .
- 运行Docker容器:
docker run -d --name your-container-name -p 80:80 -p 443:443 your-image-name
这样就创建了一个新的Docker容器,它将在宿主机的端口80和443上绑定到Nginx的HTTP和HTTPS服务。您的前端HTML页面可以通过https://xlfdrj.cn
访问,后端API则被反向代理到了http://477.680.159.2:5001
。
注意:确保您的域名已指向正确的服务器IP地址,并且DNS解析已经生效。此外,可能还需要检查防火墙设置,确保端口80和443是开放的。