http {
# Basic Settings
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# SSL Settings
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_certificate "/etc/nginx/cert/xxx__xxx.cn.pem";
ssl_certificate_key "/etc/nginx/cert/xxx__xxx.cn.key";
# Loging Settings
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$request_time $upstream_response_time $pipe';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
# Gzip Settings
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/xx-enabled/*;
server_name xxx.xxx.cn;
ssl_certificate ssl/server.pem;
ssl_certificate_key ssl/server.key;
......
在启用新的域名的时候,只需要另启一个server配置文件,丢在vhosts目录下
前言(背景):
最近,笔者想在个人网站上开启https访问。笔者是在腾讯云上注册的域名,在服务上使用的Nginx+Tomcat。但是,Tomcat项目所有的请求由Nginx进行代理转发。所以,经过资料查询,这里只需要进行Nginx的配置即可。
一、准备工作
1、假设Nginx+Tomcat都已配置完成。
2、笔者在腾讯云上申请免费版DVSSL证书(有效期一年)。
这里采用自动DNS验证的方式最简便。等待大概10分钟左右申请成功。申请成功后,将证书下载到本地。证书的目录结构如下:
证书与密钥生成(利用jdk的toolkey工具)
1.生成密钥(.keystore格式)
keytool -genkey -alias cert -keypass password -keyalg RSA -keysize 1024 -validity 365 -keystore E:/keystore/cert.keystore -storepass password
2.导出证书(.cer格式)
keytool -export -alias cert -keystore E
gzip on;
gzip_min_length 1024;
gzip_types text/css application/x-javascript application/vnd.api+json;
gzip_disable “MSIE [1-6].”;
gzip_comp_level 2;
ssl on;
ssl_certificate
本文主要记录Nginx怎么配置SSL证书,前提是Nginx安装成功和SSL证书已经获取。
在我们下载的证书文件中有一个Nginx的文件夹,这里面的两个文件都是需要的。我们需要把这个两个文件上传到 linux 服务器中,推荐放到/etc/ssl/目录下
然后我们需要去找到nginx的配置文件。
ps -ef | grep nginx
可以看到 nginx的目录是...
二,域名解析到服务器
在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面:
主机记录这里选择@,记录值就是服务器ip地址,确认。
三,申请ca证书
在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书,
选择“免费版DV SSL”,点击立即购买:
然后点去支付:
最后确认支付:
就会回到管理界面:
点击“补全”,.
一、准备证书文件
我使用的是阿里云Symantec 免费版 SSL证书。将证书文件下载后解压得到如下文件
在nginx–>cert目录中建一个ssl目录,将上面的所有文件拷贝到ssl目录中
二、修改nginx.conf文件
在nginx.conf的http{}中填下如下内容
server {
listen 443;
server_name www.httpstest....
ssl_certificate cert/下载的pem后缀文件;
ssl_certificate_key cert/下载的key后缀文件;
ssl_session_timeout 120m;
微信小程序要进行https的访问请求,需要配置http+ssl的hppts。项目采用clery+nginx+uwsgi+redies+django技术选型,因此只能采用nginx来配置https,Apache也可以,但是没使用过。
首先讲一下https的原理:
HTTP 有以下安全性问题:
(1)使用明文进行通信,内容可能会被窃听;
(2)不验证通信方的身份,通信方的身份有可能遭遇伪装;
1. 首先,确保已经生成了证书和私钥文件。可以参考上一个问题中的步骤来生成。
2. 然后,打开NGINX的配置文件,通常是`/etc/nginx/nginx.conf`,添加以下代码:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# 其他HTTPS相关配置
其中,`listen 443 ssl`表示监听端口443并启用SSL;`server_name`表示你的域名;`ssl_certificate`和`ssl_certificate_key`分别指定证书和私钥文件的路径。
3. 保存配置文件并重启NGINX服务,可以使用以下命令:
sudo service nginx restart
确认NGINX服务已经启动。
4. 最后,可以通过浏览器访问你的域名来测试HTTPS是否已经生效。
希望这些步骤可以帮助你配置NGINX的HTTPS证书。