如何在Nginx中添加SSL证书以支持HTTPS协议访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Nginx中添加SSL证书以支持HTTPS协议访问相关的知识,希望对你有一定的参考价值。

Gworg申请SSL证书,使用Nginx类型SSL证书配置就可以了。
server
listen 80;
listen 443 ssl;
server_name www.gworg.cn;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_certificate /etc/ssl/yourdomain.com.crt;
ssl_certificate_key /etc/ssl/yourdomain.com.key;
ssl_prefer_server_ciphers on;
#自动跳转到HTTPS (可选)
if ($server_port = 80)
rewrite ^(.*)$ https://$host$1 permanent;

location /
root /home/web/;
index index.php;
参考技术A 只需要nginx配置,代理转向tomcat的地址应该是http,然后把证书从https请求里传过去就行,proxy_set_header SSL_CERT $ssl_client_cert;本回答被提问者和网友采纳

nginx 添加https支持

自行颁发不受浏览器信任的SSL证书
为晒晒IQ网颁发证书。ssh登陆到服务器上,终端输入以下命令,使用openssl生成RSA密钥及证书。

# 生成一个RSA密钥 
$ openssl genrsa -des3 -out ssl.key 1024
 
# 生成一个证书请求
$ openssl req -new -key ssl.key -out ssl.csr
 
# 自己签发证书
$ openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

第3个命令是生成证书请求,会提示输入省份、城市、域名信息等,重要的是,email一定要是你的域名后缀的。这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件。当然我这里并没有向证书提供商申请,而是在第4步自己签发了证书。

 

编辑配置文件nginx.conf,给站点加上HTTPS协议

server {
    server_name YOUR_DOMAINNAME_HERE;
    listen 443;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/33iq.crt;
    ssl_certificate_key /usr/local/nginx/conf/33iq_nopass.key;
    # 若ssl_certificate_key使用33iq.key,则每次启动Nginx服务器都要求输入key的密码。
}

以上是关于如何在Nginx中添加SSL证书以支持HTTPS协议访问的主要内容,如果未能解决你的问题,请参考以下文章

[转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程

https协议和SSL证书的区别

nginx 添加https支持

nginx 80 映射web服务,并安装使用https ssl证书

一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

阿里云免费购买SSL证书,nginx无缝升级https