【发布时间】:2020-06-24 16:35:05
【问题描述】:
我有 2 个 nodejs 应用程序在我的 EC2 实例中运行,端口为 3000 和 1337。我想要实现的是
admin.mydomain.com
应该重定向到在 PORT 1337 上运行的应用程序和
mydomain.com www.mydomain.com
应该重定向到在 PORT 3000 上运行的应用程序。
使用我当前的 nginx 配置,我得到一个 502
map $subdomain $subdomain_port {
default 3000;
www 3000;
admin 1337;
}
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name ~^(?P<subdomain>.+?)\.historydiaries\.com$;
location / {
proxy_pass http://localhost:$subdomain_port;
proxy_redirect off;
}
ssl_certificate /etc/letsencrypt/live/historydiaries.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/historydiaries.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_cache shared:SSL:5m;
ssl_session_timeout 1h;
add_header Strict-Transport-Security “max-age=15768000” always;
}
【问题讨论】:
标签: ssl nginx reverse-proxy lets-encrypt