外网访问之Nginx返代理域名访问
一、前言
Nginx 反向代理是一种常见的网络架构技术,用于将客户端请求转发到后端服务器,并将后端服务器的响应返回给客户端。
打个比方:
我有nasweb服务、git服务、博客服务,想把每个服务解析到不同的二级域名上
nasweb服务》web.xx.com
git服务》git.xx.com
博客服务》bk.xx.com
二、dokcer搭建nginx教程
# 下载容器
docker pull nginx:latest
# 生成容器
docker run --name nginx -p 9001:80 -d nginx:latest
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /mnt/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /mnt/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /mnt/nginx/
# 修改本地html文件
root@broadxt-PowerEdge-R710:/mnt/nginx/html# mv index.html index.html.old
# 删除容器在运行以下命令
docker run -d --name nginx \
-p 80:80 \
-p 443:443 \
--restart=on-failure:5 \
-v /mnt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mnt/nginx/conf/conf.d:/etc/nginx/conf.d/ \
-v /mnt/nginx/sll:/etc/ssl \
-v /mnt/nginx/log:/var/log/nginx \
-v /mnt/nginx/html:/usr/share/nginx/html \
nginx:latest
nginx_web.conf
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name web.xx.com; # 需要改成自己的域名
ssl_certificate ssl/xx.com.cer;
ssl_certificate_key ssl/xx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
proxy_pass http://localhost:5000; # 需要改成自己的服务端口
proxy_ssl_server_name on;
client_max_body_size 0; # 移除上传大小限制
sendfile off; # 开启高效文件传输
tcp_nopush off; # 结合sendfile使用
}
}
nginx_git.conf
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name git.xx.com; # 需要改成自己的域名
ssl_certificate ssl/xx.com.cer;
ssl_certificate_key ssl/xx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
proxy_pass http://localhost:5300; # 需要改成自己的服务端口
proxy_ssl_server_name on;
client_max_body_size 0; # 移除上传大小限制
sendfile off; # 开启高效文件传输
tcp_nopush off; # 结合sendfile使用
}
}
nginx_bk.conf
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name bk.xx.com; # 需要改成自己的域名
ssl_certificate ssl/xx.com.cer;
ssl_certificate_key ssl/xx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
proxy_pass http://localhost:5400; # 需要改成自己的服务端口
proxy_ssl_server_name on;
client_max_body_size 0; # 移除上传大小限制
sendfile off; # 开启高效文件传输
tcp_nopush off; # 结合sendfile使用
}
}
注:nginx配置详解
一
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 QNAPClubCN
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果