NGINX 配置 ssl /https 安全证书
443端口 和 http_ssl_module模块
服务器需要开启了443端口(HTTPS服务的默认端口)。
firewall-cmd --zone=public --query-port=443/tcp # 查看
firewall-cmd --zone=public --add-port=443/tcp --permanent # 添加
服务器上需要安装了http_ssl_module模块(启用SSL功能)。
使用 ./nginx -V 命令查看 是否有 http_ssl_module
[root@192 conf.d]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --conf-path=/etc/nginx/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
[root@192 conf.d]#
如果没有安装,则需要重新编译安装
./configure xxx其他参数xxx --with-http_ssl_module
配置Nginx支持Https, SSL证书
https://blog.csdn.net/weixin_43842164/article/details/86496220
.key的文件和.pem文件 分别是 证书密钥文件 和 证书文件
阿里云 文档:
https://help.aliyun.com/document_detail/98728.html
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/a.pem; #放在conf目录下后为a.pem;
ssl_certificate_key cert/a.key; #放在conf目录下后为a.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
nginx配置http访问自动跳转到https
https://www.cnblogs.com/kinwing/p/12875992.html
按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问http的时候会自动跳转到https上面。
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.域名.com;
.....
}
Nginx配置域名同时支持 https 和 http 访问
https://blog.csdn.net/revitalizing/article/details/55271848
server
{
listen 80;
listen 443 ssl; //修改后
server_name liu.test.com;
location /
{
expires 302400s;
proxy_pass http://xxxx/xxxx/;
}
#ssl on; //修改后
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
access_log /usr/local/nginx/xxxx.log log_access;
}
遇到的问题
ssl 证书类型:免费的 dv ssl ,只能绑定一个域名
同一个ip映射了两个域名,一个主域名www.site.com,一个二级域名a.site.com,在 a.site.com 已经绑定了一个 dv ssl 证书 (用于tomcat后端访问,微信用)
现在要在 www.site.com 绑定一个 dv ssl 证书(NGINX配置,前端web),配置好后,浏览器访问 https://www.site.com ,出现问题,说是证书不是该网站的,
看了看证书,发现使用的是 a.site.com 的证书,好奇怪,检查了配置好几次,发现没问题
怀疑是同一个ip下这种免费的证书冲突,只能一个有效。
将a.site.com 的 ssl 证书停掉,而 www.site.com 正常配置证书,浏览器访问 https://www.site.com 结果正常

浙公网安备 33010602011771号