您现在的位置是:首页 >技术交流 >Nginx 如何配置使用HTTPS服务网站首页技术交流
Nginx 如何配置使用HTTPS服务
简介Nginx 如何配置使用HTTPS服务
步骤一:下载Nginx
从官网:nginx news 下载对应平台系统和版本的软件包,解压到指定目录。
步骤二:编辑Nginx配置
将下载的 nginx.conf
文件用文本编辑器打开,修改或者直接复制下面的内容去粘贴:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8888;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8888;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
}
步骤三:申请SSL证书
在您的服务商后台申请一个,免费的域名证书。
例如阿里云,操作步骤大致如下:
- 后台打开
数字证书管理服务 / SSL证书 / 免费证书
- 点击“立即购买”,支付0元得到20个免费证书
- 点击创建证书
- 在创建的证书右侧点击申请证书(验证时使用手工DNS验证,不要用文件验证)
其他服务商请根据实际情况找到免费证书的申请位置。并根据服务商的要求,进行免费证书申请。
步骤四:下载SSL证书
在您的服务商处申请到免费证书后,找到证书,选择下载。服务器选择Nginx,证书格式为 pem/key
将下载的两个证书文件重命名为:cert.pem
和 cert.key
将两个证书文件(cert.pem
、cert.key
)放在nginx配置文件(nginx.conf
)同级目录下,启动/重启nginx服务器即可完成。现在,你可以使用https访问你的域名了。
其它问题
SSL证书过期了,如何更换?
-
再次重复上面的 申请SSL证书 和 下载SSL证书 操作
-
将
cert.pem
和cert.key
文件上传到服务器的/www/nginx/conf
目录中覆盖原证书 -
再次操作上面的 重启nginx 步骤即可
如何设置域名强制跳转到https?
- 使用文本编辑器打开
nginx.conf
,将第一个server部分里面的 location 去掉,改为rewrite ^(.*)$ https://$host$1 permanent;
,修改后的效果如下所示(可直接复制替换原内容):events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; rewrite ^(.*)$ https://$host$1 permanent; } server { listen 443 ssl; server_name localhost; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:8888; proxy_set_header Host $http_host; proxy_set_header X-Forward-For $remote_addr; } } }
2.重启nginx即可。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。