安装nginx,配置https,并解决403问题

nginx安装

下载nginx:下载地址
上传到/opt目录
解压nginx,并进入解压后到目录

cd /opt
tar -zxvf nginx-1.25.2.tar.gz
cd nginx-1.25.2

编译(with-http_ssl_module为https模块)

./configure --with-http_ssl_module

安装

make install

默认的安装目录为:/usr/local/nginx

  • 启动Nginx
./nginx
  • 重启Nginx
./nginx -s reload
  • 关闭Nginx
./nginx -s stop

生成https自签名证书,如果是公网域名,可以申请阿里云免费证书

创建证书目录,并进入该目录

mkdir /usr/local/nginx/cert
cd /usr/local/nginx/cert

生成私钥

openssl genrsa -out server.key 2048

生成公钥

openssl req -new -key server.key -out server.csr

生成证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

配置nginx https

vim /usr/local/nginx/conf/nginx.conf

添加以下内容

server {listen       443 ssl;server_name  localhost;# https证书ssl_certificate      /usr/local/nginx/cert/server.crt;ssl_certificate_key  /usr/local/nginx/cert/server.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:8848/;}}

问题:nginx访问时报403错??

首先报错先查看日志,这里查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现详细报错如下:

2022/12/22 16:08:06 [error] 16674#16674: *41 directory index of “/data/soft/” is forbidden, client: 58.250.63.15, server: server01, request: “GET / HTTP/1.1”, host: “xxxxxx:666”
没有权限?缺少web目录索引?还是… …?,下面这些问题都给你解决
报错的可能原因:
一、由于启动用户和nginx工作用户不一致所致
1.1查看nginx的启动用户

ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致

vim conf/nginx.conf
user nginx;  #这里的用户改为与启动用户一致
worker_processes  8;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
events {worker_connections  65535;
}

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

server {listen 666;server_name server01;root /data/soft/;index  index.html index.htm;  #也可能是这里缺少了  。不过对于这次的报错,这里不影响
}

如果在/data/soft/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

三、配置文件里,少了一条参数:autoindex on

vim /etc/nginx/nginx.conf
http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;keepalive_timeout  65;autoindex on; #########就是少了这条参数,所以一直报 “41 directory index of "/data/soft/" is forbidden” 这个错autoindex_exact_size off;autoindex_localtime on;include /etc/nginx/conf.d/*.conf;
}

四、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

chmod -R 777 /data/soft/

五、SELinux设置为开启状态(enabled)的原因。

5.1、查看当前selinux的状态。

/usr/sbin/sestatus

5.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

vim  /etc/selinux/config
 #SELINUX=enforcingSELINUX=disabled

重启生效,reboot。

reboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/107494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为eNSP配置专题-VLAN和DHCP的配置

文章目录 华为eNSP配置专题-VLAN和DHCP的配置1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接 3、VLAN的配置3.1、两台PC先配置静态IP3.2、交换机上配置VLAN 4、接口方式的DHCP的配置4.1、在交换机上开启DHCP4.2、在PC上开启DHCP 5、全局方式的…

【docker】ubuntu下安装

ubuntu下安装docker 卸载原生docker更新软件包安装依赖Docker官方GPG密钥添加软件来源仓库安装docker添加用户组运行docker安装工具重启dockerhelloworld 卸载原生docker $ apt-get remove docker docker-engine docker.io containerd runc更新软件包 apt-get update apt-get…

零售数据分析模板鉴赏-品类销售结构报表

不管是服装零售,还是连锁超市或者其他,只要是零售行业就绕不过商品数据分析,那么商品数据分析该怎么做?奥威BI的零售数据分析方案早早就预设好相关报表模板,点击应用后,一键替换数据源,立得新报…

新版Android Studio搜索不到Lombok以及无法安装Lombok插件的问题

前言 在最近新版本的Android Studio中,使用插件时,在插件市场无法找到Lombox Plugin,具体表现如下图所示: 1、操作步骤: (1)打开Android Studio->Settings->Plugins,搜索Lom…

【JVM】JVM的内存区域划分

JVM的内存区域划分 堆Java虚拟机栈程序计数器方法区运行时常量池 堆 程序中创建的所有对象都保存在堆中 Java虚拟机栈 Java虚拟机栈的生命周期和线程相同,描述的是Java方法执行的内存模型,每个方法在执行的时候都会同时创建一个栈帧用于存储局部变量表,操作栈,动态链接,方法…

docker下的onlyoffice安装(for seafile)

docker镜像拉取 # 拉取 onlyoffice 镜像docker pull onlyoffice/documentserver 创建所需目录 # 创建几个目录 用于 onlyoffice 的数据卷cd /opt# 建议与 seafile 容器都放在 /opt 目录方便管理mkdir seafile-onlyofficecd seafile-onlyofficemkdir logmkdir datamkdir libmkd…

函数指针解释

函数指针是一种特殊类型的指针,它指向程序中的函数而不是数据。函数指针可以让你在运行时动态地选择调用哪个函数,这在某些编程情景中非常有用,例如回调函数、动态函数调用和函数表驱动的编程。以下是关于函数指针的一些基本概念和用法&#…

git log 美化配置

编辑 vim ~/.gitconfig 添加配置 [alias]lg log --graph --abbrev-commit --decorate --dateformat:%m-%d %H:%M:%S --formatformat:%C(bold blue)%h%C(reset) - %s %C(bold yellow)% d%C(reset) %n %C(dim white) (%ad) - %an%C(reset) --allgit lg 效果

微信小程序------框架

目录 视图层 WXML 数据绑定 列表渲染 条件渲染 模板 wsx事件 逻辑层 生命周期 跳转 视图层 WXML WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。 先在我们的项目中…

qemu 运行 linux

文章目录 qemu 运行 linuxlinux 内核版本生成配置文件编译设备树编译内核报错与解决运行 linux附录脚本参考 qemu 运行 linux linux 内核版本 linux-6.5.7linux 内核下载地址 https://www.kernel.org/可以在浏览器中点击下载,也可以使用命令行下载 wget https:/…

[23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation

3D生成蓬勃发展,主流方法通过事例比较和用户调查来评价方法好坏,缺少客观比较指标;本文提出Bench,首次综合比较了不同生成方法;具体来说,本文设计了质量评估(Quality Assessment)和对…

【Linux】线程的几种退出方法(知识点小记)

线程的几种退出方法: 方法参数介绍头文件功能区别return stutus;status//程序退出的返回值--返回到上一级主调函数 普通线程执行return,只退出当前线程 主函数中执行return,会退出进程,并释放所有线程 exit(int status);status//…

【Vivado HLS Bug】Ubuntu环境下Vivado HLS导出IP报错:HLS ERROR: [IMPL 213-28]

Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22) (xilinx.com)一.问题描述: 在Ubuntu20.04环境中使用Vivado HLS导出IP时报错:HLS ERROR: [IMPL 213-28] 二.解决方法: 1.从如下链接中下载官方补丁Export IP Invalid…

Angular知识点系列(1)-每天10个小知识

目录 1. Angular工作原理和与其他前端框架的区别2. 使用Angular的经验和最喜欢的特性3. 使用的最复杂的Angular组件或指令4. Angular的依赖注入系统和示例5. Angular的模块和组件生命周期6. 使用Angular路由和路由保护7. 在Angular应用中实现延迟加载8. 处理Angular应用中的状态…

1、资源包下载

1 、百度云盘永久下载地址 : 链接: https://pan.baidu.com/s/13pBco75qXU6bLxlTtZ29TQ 提取码: ixkg 2 、官方下载地址: https://dev.mysql.com/downloads/mysql/ 3 、注意:下载时候要选择自己的系统和对应的电脑 CPU 位数&a…

【Interview】想法合集

i2i算法概述 - 皓轩的文章 - 知乎 i2i相比u2i的优点; 统计召回与向量召回的区别: i2i算法的目的是计算两个item之间的相似度。主要有两大类型,分别是基于统计的算法、基于embedding的算法。区别在于是否线上可以无限召回,比如基…

docker搭建nginx+php-fpm

docker run --name nginx -p 8898:80 -d nginx:1.20.2-alpine# 将容器nginx.conf文件复制到宿主机 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf# 将容器conf.d文件夹下内容复制到宿主机 docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf…

mysql sql语句遍历树结构

mysqlsql语句遍历树结构 MySQL SQL语句遍历树结构实现步骤 理解树结构和遍历算法 在开始之前,我们首先需要了解什么是树结构以及如何遍历树结构。树结构是一种常用的数据结构,由各个节点和节点之间的关系构成。树结构的一个重要应用是表示具有层级关系…

Kotlin-Java 互操作指南

官网地址 https://developer.android.google.cn/kotlin/interop?hlzh-cn 脑图

fico入门基础

Fico模块 会计主体一般为公司法人 分公司不算一个会计主体 分公司上金融中心 子公司会算一个会计主体 子公司上公司代码 会计期间:就是会计会一个期间结算一次(一般为一个月结算一次)(不同国家的快递期间起点会有不同;如日本四月份为第一个快递期间,三月份为第十二个快递期…