1:设置http对应的配置
server {
listen 80;
server_name www.httech-bj.com;
return 301 https://$server_name$request_uri;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2:设置https对应的配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /opt/ssl/server.crt;
ssl_certificate_key /opt/ssl/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_verify_client on;
ssl_client_certificate /opt/ca/clientCA.crt;
ssl_verify_depth 1;
location / {
root html;
index index.html index.htm;
}
}
}
server.crt 为服务器端证书 server.key 为秘钥 clientCA.crt 为双向双向认证的根证书
clientCA.crt 此证书为自己生成的证书 server.crt server.key 这两个一般是从证书中心买的 如果是自己生成的在浏览器访问的时候会提示不安全链接
在此过程中网上有很多例子 server.crt server.key 是自己用spenssl 生成的 如果是商业用途的话建议使用从正规机构购买的这样安全等级也高
在配置文件中不能有中文注释 楼主在配置过程中遇到这样的问题 浪费了不少时间