Nginx通过OpenSSL配置Https及二级目录

简介: Nginx通过OpenSSL配置Https及二级目录

Nginx通过OpenSSL配置Https及二级虚拟目录


1、创建私钥秘钥和证书

mkdir -p /usr/local/nginx/conf/ssl/
cd /usr/local/nginx/conf/ssl/
# 创建服务器私钥
openssl genrsa -des3 -out server.key 1024
# 创建签名请求的证书(CSR)
openssl req -new -key server.key -out server.csr
# 标记证书使用上述私钥和CSR
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

2、报错处理:密码错误

SSL_CTX_use_PrivateKey_file("/etc/nginx/key/server.key") failed 
(SSL: error:0906406D:PEM routines:PEM_def_callback:problems getting password error:0906A068:PEM routines:PEM_do_header:bad password read error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
# 输入一次私钥的密码
openssl rsa -in server.key -out unserver.key 
cp unserver.key server.key
# 重启nginx

3、配置Nginx

server {
    listen       443 ssl;
    server_name  localhost;
    ssl on;
    ssl_certificate      /usr/local/nginx/conf/ssl/server.crt;
    ssl_certificate_key  /usr/local/nginx/conf/ssl/server.key;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    # 这是静态主页
    location / {
        root   /www;
        index  index.html index.htm;
    }
}

会出现隐私设置错误,继续访问就可以


参考:

nginx配置https


4、Nginx配置二级目录

server {
    listen       80;
    server_name  localhost;
    # 这是静态主页
    location / {
        root   /www;
        index  index.html index.htm;
    }
    # 这是二级虚拟目录
    # 注意斜杆/: 
    # 访问 https://localhost/data/ 
    # 代理 http://127.0.0.1:5003/
    location /data/ {
        proxy_pass http://127.0.0.1:5003/;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

5、报错:nginx:[emerg]unknown directive “ssl”

# 到解压的nginx目录下
yum -y install openssl openssl-devel
./configure --with-http_ssl_module
# 切记不能make install 会覆盖
make  
# 备份
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 拷贝新的文件
cp objs/nginx /usr/local/nginx/sbin/nginx
# 检查重启
nginx -t
nginx -s reload

参考:

nginx:[emerg]unknown directive “ssl”


参考:

Nginx 反向代理 虚拟二级目录


6、js后加?v=版本号 可以起到刷新缓存的作用


例如:

https://localhost/static/main.js?v=20191227

每次更新的时候修改版本号,通知浏览器获取新的文件


相关文章
|
17天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
19天前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
39 4
|
2月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
82 3
Hadoop集群配置https实战案例
|
2月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
184 2
Docker配置https证书案例
|
2月前
|
应用服务中间件 网络安全 Apache
HTTPS配置
HTTPS配置
137 11
|
2月前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
214 4
|
测试技术 应用服务中间件 nginx
Nginx目录文件列表显示
项目中使用了tomcat,Nginx,测试阶段,生产阶段经常会有些bug需要调查。 需要有些日志管理工具,在没有ELK的情况下,可以通过配置nginx来实现基本的日常查看。
979 0
|
1月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解