【发布时间】:2019-07-09 04:42:30
【问题描述】:
我的网站正在运行,但 SSL 仅适用于非 www。在我重新安装让我们加密 SSL 证书后,网站崩溃了。我能够取得领先,但不是 api。
我将站点移动到一个新的 droplet,并在带有 Nodejs 的 Ubuntu 18.04 上使用 python 安装了 Nginx、Pm2 和 certbot。
网站没有加载,有点令人沮丧。我认为问题在于 certbot 重写了 ngix 默认文件,我不知道如何修复它。
这是我在 /etc/nginx/sites-available/default 上的配置
upstream my_app {
server 127.0.0.1:3000;
}
server {
#listen 80;
listen [::]:80;
#listen 443 ssl;
#listen [::]:443 ssl;
if ($host = www.mysite.com) {
return 301 https://mysitehere$request_uri;
}
server_name roomies.es;
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://mysite_app;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location ~ /.well-known {
allow all;
}
}
```
I need the front to run on port 3000 and my api on port 4000.
Thanks in advance!
【问题讨论】:
标签: nginx nginx-location nginx-config