服务器搭建--https证书
自建证书:
1.生成私钥
$openssl genrsa -des3 -out private.key 2048
des3代表加上了加密,后面的2048是代表生成的密钥的位数;
2.生成证书请求
$openssl req -new -key private.key -out server.csr
这一步需要填写一些信息,其中Common Name (e.g. server FQDN or YOUR name) []这个需要填写你的域名或服务器地址。
3.生成服务器的私钥,去除密钥口令:
$openssl rsa -in private.key -out server.key
4.使用私钥为证书请求签名,生成给服务器签署的证书:
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
格式是x509的PEM格式;
-outform pem指定证书生成的格式,默认是pem,所以可以省去;
配置Nginx
server {
server_name i.oroct.com;
# 重要看这里
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/key/server.crt;
ssl_certificate_key /etc/nginx/key/server.key;
ssl_session_timeout 5m;
# 以下的配置与其他配置相同
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.php index.nginx-debian.html;
location / {
#此处省略去其他配置...
}
}
http跳转
输入http网址时,自动跳转向https.
server {
listen 80;
server_name cloud.example.com;
# enforce https
return 301 https://$server_name$request_uri;
}