我正在运行一个使用 websockets 的 Web 应用程序,并使用 nginx 作为其反向代理,并且运行良好。我还能够在没有套接字的情况下让 SSL 工作。现在我们即将正式发布,也需要 SSL。
关于如何实现这一点有什么想法吗?这是我的 nginx 配置文件:
server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
listen 80;
server_name sub.domain.com;
location / {
proxy_pass http://localhost:8866;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 43200000;
}
location /static/ {
autoindex on;
alias /home/xyz/.jenkins/jobs/app/workspace/main/static/;
}
}
编辑:作为@dhl_p在评论中指出,此配置不安全,并且你不应该使用它。现在你应该只允许使用 TLS 和更强大的密码套件。