我正在尝试使用ssl来设置nginx,以便为某些静态HTML和某些Python脚本的输出(通过uwsgi)提供服务。 它对HTTP工作正常,但是我不能使它在HTTPS上运行,因为nginx正在返回一个“301 Moved Permanently”问题的URI(即,即使对于那些不存在的)。
我目前正在使用自签名证书,我的想法是强制HTTPS连接。 我究竟做错了什么? 它看起来像一个nginxconfiguration问题?
ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; server { listen 443 ssl; server_name myserver.com; ssl_certificate /srv/ssl/nginx.pem; ssl_certificate_key /srv/ssl/nginx.key; location / { rewrite ^ https://$server_name$request_uri? permanent; } }
(obviusly, myserver.com代表实际的服务器名称)。
编辑 :错别字。
您的重写规则在错误的地方 :它只适用于已经有SSL的服务器块。 您的浏览器可能已经在抱怨永无止境的redirect了。
将重写规则放在侦听端口80的服务器模块中,不使用SSL。