您好我正在使用Nginx服务器在AWS EC2服务中运行ubuntu实例。我在端口5000上运行React应用程序,在端口8080上运行节点服务器。我已经使用openssl证书为我的域添加了SSL for 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端口。
答案 0 :(得分:0)
您可以为listen
块添加第二个server
指令,用于您想要侦听的任何其他端口(使用或不使用ssl)。
server {
listen 443 ssl;
listen 8443 ssl;
listen 80; # no ssl
}