一些对安全性要求比较高的站点,可能会使用 HTTPS(一种使用ssl通信标准的安全HTTP协议)。
这里不科普 HTTP 协议和 SSL 标准。但是,使用 nginx 配置 https 需要知道几点:
- HTTPS 的固定端口号是 443,不同于 HTTP 的 80 端口
- SSL 标准需要引入安全证书,所以在 nginx.conf 中你需要指定证书和它对应的 key
其他和 http 反向代理基本一样,只是在
Server
部分配置有些不同。
#HTTP服务器
server
{
#监听443端口。443为知名端口号,主要用于HTTPS协议
listen
443 ssl;
#定义使用www.xx.com访问
server_name
www.helloworld.com;
#ssl证书文件位置(常见证书文件格式为:crt/pem)
ssl_certificate
cert.pem;
#ssl证书key位置
ssl_certificate_key
cert.key;
#ssl配置参数(选择性配置)
ssl_session_cache
shared:SSL:1m;
ssl_session_timeout
5m;
#数字签名,此处使用MD5
ssl_ciphers
HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers
on
;
location
/ {
root
/root;
index
index.html index.htm; } }
静态站点配置
有时候,我们需要配置静态站点(即 html 文件和一堆静态资源)。
举例来说:如果所有的静态资源都放在了
/app/dist
目录下,我们只需要在
nginx.conf
中指定首页以及这个站点的 host 即可。
配置如下:
worker_processes
1;
events
{
worker_connections
1024;}
http
{
include
mime.types;
default_type
application/octet-stream;
sendfile
on
;
keepalive_timeout
65;
gzip
on
;
gzip_types
text/plain application/x-javascript text/css application/xml text/javascript application/javascript image/jpeg image/gif image/png;
gzip_vary
on
;
server
{
listen
80;
server_name
static.zp.cn;
location
/ {
root
/app/dist;
index
index.html;
#转发任何请求到 index.html
} }}
然后,添加 HOST:
127.0.0.1 static.zp.cn
此时,在本地浏览器访问 static.zp.cn ,就可以访问静态站点了。
--------------------------------------------------------------------------------------
温馨提示:我是一个技术男,但我天生乐观的性格让我与技术男的形象有冲突,爱交朋友和聊天,想找我可以随时联系我。不信搜索我的微信公众号“好有趣耶”或者扫我的图标二维码,可以看到好多搞笑段子与微简报。