200字
nginx域名和IP映射详细配置教程
2025-11-07
2025-11-07

完整脚本如下:

server {

listen 443 ssl;

#ssl证书加载位置,后缀为pem.key,crt等

ssl_certificate /etc/nginx/ssl/awsp.aizhs.top.pem;

ssl_certificate_key /etc/nginx/ssl/awsp.aizhs.top.key;

#ssl配置优化:

ssl_session_timeout 1d;#session过期时间

ssl_session_cache shared:MozSSL:10m; # 缓存大小可以根据需求调整

ssl_session_tickets off;

server_name awsp.aizhs.top;

location / {

proxy_pass http://127.0.0.1:3001;#尽量用127.0.0.1代替localhost配置

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;

}

}

1.安装Nginx

sudo apt update

sudo apt install nginx

2.配置 Nginx

编辑 Nginx 的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/ 目录下的某个文件中。

你可以创建一个新的配置文件,例如 /etc/nginx/sites-available/your-domain.conf ,并添加以下内容:

server {

listen 80; # 监听 HTTP 端口

server_name your-domain.com; # 替换为你的域名

location / {

proxy_pass http://localhost:8080; # 替换为你的 Docker 容器服务地址和端口

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;

}

}

解释

• listen 80; :Nginx 监听 HTTP 的默认端口 80。

• server_name your-domain.com; :指定你的域名。

• proxy_pass http://localhost:8080; :将请求转发到运行在 Docker 容器中的服务。

• proxy_set_header :确保将正确的请求头传递给后端服务,例如客户端的真实 IP 地址。

3.启用配置并重启 Nginx

将配置文件链接到 sites-enabled 目录以启用它

sudo ln -s /etc/nginx/sites-available/your-domain.conf /etc/nginx/sites-enabled/

检查 Nginx 配置是否正确:

sudo nginx -t

sudo systemctl restart nginx

配置域名解析

确保你的域名 your-domain.com 指向服务器的公网 IP 地址。

你可以在域名注册商的管理面板中设置 DNS 记录,例如:

• 类型:A

• 主机: @ 或 www

• 值:服务器的公网 IP 地址

配置 HTTPS

如果你希望使用 HTTPS,可以使用 Let's Encrypt 提供的免费证书。安装 Certbot 并获取证书:

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx -d your-domain.com

Certbot 会自动更新你的 Nginx 配置以启用 HTTPS,并将证书安装到正确的位置。

评论