环境
ubuntu 20.04
1.安装docker
Ubuntu 安装Docker 运行Nginx-CSDN博客
2.安装docker-compose
Ubuntu 安装 docker-compose-CSDN博客
3.编写shell脚本
vim start.sh
events {}
# 使用 stream 模块处理 TCP 连接
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$server_port';
include mime.types;
default_type application/octet-stream;
# 配置访问日志
access_log /var/log/nginx/access.log; # 日志文件路径
# 配置错误日志
error_log /var/log/nginx/error.log; # 错误日志路径
include /etc/nginx/blacklist/whitelist.conf;
# 拒绝黑名单 IP
include /etc/nginx/blacklist/blacklist.conf;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html; # 默认的静态文件目录
index index.html index.htm; # 默认首页文件
}
}
# 代理 8082 服务,it工具
server {
listen 9082;
server_name localhost;
# 在所有请求都应用黑名单
location / {
# 代理到实际服务
proxy_pass http://localhost:8082;
# 设置代理头部,这在 HTTP 代理中是必要的
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 9111;
server_name localhost;
# 在所有请求都应用黑名单
location / {
# 代理到实际服务
proxy_pass http://localhost:8111;
# 设置代理头部,这在 HTTP 代理中是必要的
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 9121;
server_name localhost;
# 在所有请求都应用黑名单
location / {
# 代理到实际服务
proxy_pass http://localhost:8121;
# 设置代理头部,这在 HTTP 代理中是必要的
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 9118;
server_name localhost;
# 在所有请求都应用黑名单
location / {
# 代理到实际服务
proxy_pass http://localhost:8118;
# 设置代理头部,这在 HTTP 代理中是必要的
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
stream {
log_format detailed '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time $upstream_addr '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
access_log /var/log/nginx/stream_access.log detailed;
include /etc/nginx/blacklist/whitelist.conf;
# 通过 include 指定黑名单配置
include /etc/nginx/blacklist/blacklist.conf;
server {
listen 9106;
server_name localhost;
# 代理到实际的 TCP 服务(localhost:8106)
proxy_pass 127.0.0.1:8106;
}
}
4.启动shell脚本
sh start.sh
5.打开网页,开始使用
http://<主机IP>:80