您好,我正在使用 Nginx 服务器在 AWS EC2 服务中运行 ubuntu 实例。我有 React 应用程序在端口 5000 上运行,节点服务器在端口 8080 上运行。我已经使用 openssl 证书为我的域添加了 SSL HTTPS。但是在运行两台服务器后,网站无法正常工作并显示此消息
据我了解,这是因为/api
流量经过8080 并且没有SSL 证书。
我的 /etc/nginx/sites-available/default
文件是这样的
server {
server_name projectmatch.me www.projectmatch.me;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
listen 443 ssl;
# managed by Certbot
ssl_certificate /etc/letsencrypt/live/projectmatch.me/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/projectmatch.me/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.projectmatch.me) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = projectmatch.me) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name projectmatch.me www.projectmatch.me;
return 404; # managed by Certbot
}
请让我知道如何将 SSL 添加到我的 React 和 Api 端口。
最佳答案
您可以简单地为 server
block 添加第二个 listen
指令,用于您想要监听的任何其他端口(有或没有 ssl)。
server {
listen 443 ssl;
listen 8443 ssl;
listen 80; # no ssl
}
关于ubuntu - 如何将 SSL 证书用于在同一服务器实例中运行的两个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50191163/