我按照文档设置 HTTPS。
server {
listen 443 ssl;
server_name foo.de;
#server_name foo.de www.foo.de;
# rewrite ^/(.*) https://foo.de/$1 permanent;
ssl_certificate /home/me/server/foo.crt;
ssl_certificate_key /home/me/server/foo.key;
location / {
proxy_pass http://localhost:3002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
另外,我添加了一个etc/mypath/file.pass
包含证书密码的密码文件,并在其中的块http
中引用。/etc/nginx/nginx.conf
ssl_password_file /etc/mypath/file.pass;
我使用 验证了配置sudo nginx -t
。它说一切正常。我使用 重启了服务器sudo service nginx restart
。
我还使用 openssl ( openssl x509 -in foo.crt -text -noout
) 验证了证书中使用的 CN(通用名称)是foo.de
。
但有些事情不起作用:
curl https://foo.de
curl: (7) Failed to connect to foo.de port 443: Operation timed out
有任何想法吗?
答案1
我搞定了!SSL 端口未打开。之后sudo ufw allow 443/tcp
就可以正常工作了。