其中放弃去补了一些 nginx 的知识依然配不出,最后问的 GhatGPT 出来的。
主要问题:http 正常,https 就无法通行。(原因很多,证书的原因,代理的原因,最主要的原因应该是我配置冲突了)
---------废话补多说---上代码-----------------------
--------------------------------------------------
我:
我的域名是 ,它正常解析到 120.00.00.93 ,我的 80 ,8001 端口正常开放
我有个 Django 程序,python3 manage.py runserveri 8001
我的前端文件是 root /home/www/dist;
现在需要你配置下 nginx
1 、要求能通过 访问我的网站
2 、要求配置 https,其中证书文件域名都是 的
ssl_certificate /home/Nginx/1__bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /home/Nginx/2_.key;
3 、对其中的 api 开头的都转到我的 django 程序 8001 端口
4 、请注意 https 的问题
------ChatGPT-------------------------------------
server {
listen 80;
listen [::]:80;
server_name ;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name ;
# SSL 证书配置
ssl_certificate /home/Nginx/1__bundle.crt;
ssl_certificate_key /home/Nginx/2_.key;
location / {
root /home/www/dist;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
------ChatGPT-------------------------------------
------我的错误配置-------------------------------------
server {
listen 80;
server_name 120.00.000.93; #打码处理
# 配置静态文件目录
location / {
root /home/www/dist;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://120.00.000.93:8001;
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 {
listen 443 ssl;
server_name ;
ssl_certificate /home/Nginx/1__bundle.crt;
ssl_certificate_key /home/Nginx/2_.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /home/www/dist;
# 用于配合 browserHistory 使用
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass https://localhost:8001/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
------我的错误配置-------------------------------------