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

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

相关文章
|
8月前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
10月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
373 5
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
JavaScript 应用服务中间件 PHP
nginx server 禁止特定目录下的某类文件访问
【8月更文挑战第26天】这段Nginx配置代码旨在保护`/uploads/`目录下的文件,禁止执行任何`.php`, `.html`, `.htm`, 或 `.js`等潜在有害文件,即便被访问也无法运行。取而代之的是重定向到首页。为了实现这一设置,用户需要定位到对应子域名的`.conf`配置文件中进行相应修改。若网站支持多个访问域名,则需确保在正确的`.conf`文件中实施此配置。
328 1
|
Ubuntu 应用服务中间件 Linux
Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件
总的来说,OpenResty的Nginx配置文件是一个强大的工具,它允许你以非常灵活的方式定义你的Web服务的行为。
350 2
|
应用服务中间件 nginx
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
1100 3
|
应用服务中间件 Linux nginx
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
231 0
|
应用服务中间件 nginx
Ngnix07---通过yum安装Ngnix下 whereis ngnix可以查看Ngnix相关的一些目录,使用./nginx -y可以查看Ngnix版本及相关配置信息,使用 more CHANGES
Ngnix07---通过yum安装Ngnix下 whereis ngnix可以查看Ngnix相关的一些目录,使用./nginx -y可以查看Ngnix版本及相关配置信息,使用 more CHANGES
|
应用服务中间件 开发工具 nginx
Ngnix09目录结构分析,使用tree工具可以Ngnix目录中以一个树的方式呈现出来,yum install -y tree,tail -f nginx/logs/access.log
Ngnix09目录结构分析,使用tree工具可以Ngnix目录中以一个树的方式呈现出来,yum install -y tree,tail -f nginx/logs/access.log
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
194 1