我有这个 nginx 配置
server {
listen 80;
server_name app.com www.app.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443;
server_name app.com www.app.com;
ssl on;
ssl_certificate /etc/nginx/ssl/app.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location = /favicon.ico {
root /opt/myapp/app/programs/web.browser/app;
access_log off;
expires 1w;
}
location ~* "^/[a-z0-9]{40}\.(css|js)$" {
root /opt/myapp/app/programs/web.browser;
access_log off;
expires max;
}
location ~ "^/packages" {
root /opt/myapp/app/programs/web.browser;
access_log off;
}
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
并使用具有正常设置的 mup 部署到 ec2
它已部署,我可以访问该站点app.com
但https://app.com
它不工作
因为在配置文件中,所有请求都重写为https
这里发生的事情
- 当我输入 app.com 时,我可以访问该网站,这意味着它正在转发 app.com 广告https://app.com
- 我无法访问https://app.com,这意味着 nginx 不工作
以上两种情况哪一种是真的?
我别无选择。我检查了 ssl 检查器,他们显示未安装 ssl 证书。
那么为什么我的应用程序在进入 app.com 时工作?