nginx安装和前端访问配置以及403 Forbidden解决方案

 更新时间:2025年07月19日 14:14:31   作者:weixin_44956870  
本文介绍CentOS下Nginx安装与配置,包括安装命令、配置文件路径、启动及重启方法,并详细说明多个前端站点的代理设置与缓存策略,同时提供解决403错误的权限检查及SELinux调整方案

nginx安装

  • 安装命令(centos环境):
sudo yum install epel-release(本次安装nginx未执行该条命令)
sudo yum install nginx
  • 配置文件位置:
/etc/nginx/nginx.conf
  • 启动:
 sudo systemctl start nginx
  • 配置开机启动:
 sudo systemctl enable nginx
  • 重启: 
/usr/sbin/nginx  -s reload
 sudo systemctl daemon-reload

前端nginx访问配置

8001系统+10002系统+10003系统+10005系统

       server {
           listen 10003;
           server_name web.zc.com;
           index index.php index.html index.htm default.php default.htm default.html;
           root /mnt/web/zc-web/dist;
           try_files $uri $uri/ /index.html; # 将所有请求导 index.html

           #PROXY-START/
           location ~ ^/prod-api(.*)$ {
               rewrite ^/prod-api(.*)$ $1 break;
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header REMOTE-HOST $remote_addr;
               proxy_set_header Upgrade $http_upgrade;
               # proxy_set_header Connection $connection_upgrade;
               proxy_http_version 1.1;
               # proxy_hide_header Upgrade;

               add_header X-Cache $upstream_cache_status;

               #Set Nginx Cache


               set $static_filedaYAOiSb 0;
               if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
               {
                set $static_filedaYAOiSb 1;
                expires 1m;
                   }
               if ( $static_filedaYAOiSb = 0 )
               {
               add_header Cache-Control no-cache;
               }
           }

           #PROXY-END/
       }

       server {
           listen 10005;
           server_name client.zc.com;
           index index.php index.html index.htm default.php default.htm default.html;
           root /mnt/web/zc-client/dist;
           try_files $uri $uri/ /index.html; # 将所有请求导 index.html

           #PROXY-START/
           location ~ ^/dev-api(.*)$ {
               rewrite ^/dev-api(.*)$ $1 break;
               proxy_pass http://127.0.0.1:8080;
           }
           location ~ ^/prod-api(.*)$ {
               rewrite ^/prod-api(.*)$ $1 break;
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header REMOTE-HOST $remote_addr;
               proxy_set_header Upgrade $http_upgrade;
               # proxy_set_header Connection $connection_upgrade;
               proxy_http_version 1.1;
               # proxy_hide_header Upgrade;

               add_header X-Cache $upstream_cache_status;

               #Set Nginx Cache


               set $static_filedaYAOiSb 0;
               if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
               {
                set $static_filedaYAOiSb 1;
                expires 1m;
                   }
               if ( $static_filedaYAOiSb = 0 )
               {
               add_header Cache-Control no-cache;
               }
           }

           #PROXY-END/
       }
       
       server {
           listen 10002;
           server_name jetlinks.zc.com;
           index index.php index.html index.htm default.php default.htm default.html;
           root /mnt/web/jetlinks/dist;
           try_files $uri $uri/ /index.html; # 将所有请求导 index.html

           #PROXY-START/
           location ~ ^/api(.*)$ {
               rewrite ^/api(.*)$ $1 break;
               proxy_pass http://127.0.0.1:9999;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header REMOTE-HOST $remote_addr;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection "upgrade"; # 【可选】开启websocket协议
               proxy_http_version 1.1;
               # proxy_hide_header Upgrade;

               add_header X-Cache $upstream_cache_status;

               #Set Nginx Cache


               set $static_filedaYAOiSb 0;
               if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
               {
                set $static_filedaYAOiSb 1;
                expires 1m;
                   }
               if ( $static_filedaYAOiSb = 0 )
               {
               add_header Cache-Control no-cache;
               }
           }

           #PROXY-END/
       }

       server {
           listen 8001;
           server_name icp.zc.com;
           index index.php index.html index.htm default.php default.htm default.html;
           root /mnt/web/icp/dist;
           try_files $uri $uri/ /index.html; # 将所有请求导 index.html

           #PROXY-START/
           location ~ ^/icp-api(.*)$ {
               rewrite ^/icp-api(.*)$ $1 break;
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header REMOTE-HOST $remote_addr;
               proxy_set_header Upgrade $http_upgrade;
               # proxy_set_header Connection $connection_upgrade;
               proxy_http_version 1.1;
               # proxy_hide_header Upgrade;

               add_header X-Cache $upstream_cache_status;

               #Set Nginx Cache


               set $static_filedaYAOiSb 0;
               if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
               {
                set $static_filedaYAOiSb 1;
                expires 1m;
                   }
               if ( $static_filedaYAOiSb = 0 )
               {
               add_header Cache-Control no-cache;
               }
           }

           #PROXY-END/
       }

nginx访问 403 Forbidden

[root@yutu-node3 ~]# curl  http://localhost:8001
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>

(1)检查文件或目录的权限,确保 Nginx 用户(通常是 www-datanginx 或 nobody)有读取权限

ll /path/to/your/file

chmod -R 755 /path/to/your/file   # 确保目录文件可读
chown -R nginx:nginx /path/to/your/directory  # 确保 Nginx 用户有权限

(2)如果服务器启用了 SELinux 或 AppArmor,可能会限制 Nginx 访问某些文件或目录。

chcon -R -t httpd_sys_content_t /path/to/your/directory

(3)清除 Nginx 缓存并重新加载配置

nginx -s reload

【终极大法】临时关闭 SELinux,建议避免使用:

setenforce 0

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx转发404问题的排查和思考

    Nginx转发404问题的排查和思考

    本篇文章原自当前业务遇到的一个实际问题,因为受到所在网络环境的因素影响,所以整体排查下来耗费了很大精力,记录一下Nginx 转发 404 问题的排查和思考,需要的朋友可以参考下
    2023-09-09
  • Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版

    Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版

    把我架设lnmp网站的过程写出来,希望对想架设网站的朋友有所帮助,如有更好的办法请提出来
    2012-02-02
  • nginx启动命令和默认配置文件的使用

    nginx启动命令和默认配置文件的使用

    这篇文章主要介绍了nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • nginx代理去掉URL前缀的实现方法

    nginx代理去掉URL前缀的实现方法

    nginx作为一款广泛使用的反向代理服务器,在实际应用中,经常需要去掉代理请求中的前缀,下面这篇文章主要给大家介绍了关于nginx代理去掉URL前缀的实现方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • nginx简单配置多个server的方法

    nginx简单配置多个server的方法

    这篇文章主要介绍了nginx简单配置多个server的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Nginx实现动态封禁IP的步骤指南

    Nginx实现动态封禁IP的步骤指南

    在日常的生产环境中,网站可能会遭遇恶意请求、DDoS 攻击或其他有害的访问行为,为了应对这些情况,动态封禁 IP 是一项十分重要的安全策略,本篇博客将介绍如何通过 NGINX 实现动态封禁 IP,从配置到自动化的实现步骤,需要的朋友可以参考下
    2025-02-02
  • Nginx配置https的实现

    Nginx配置https的实现

    本文主要介绍了Nginx配置https的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • centos8中使用yum安装nginx的详细过程

    centos8中使用yum安装nginx的详细过程

    这篇文章主要介绍了centos8中怎样使用yum安装 nginx,centos8和centos7安装nginx有点点不一样,centos8 自带了nginx 1.14.1 ,我们先升级到新稳定版1.20.1,具体安装方法跟随小编一起学习下吧
    2023-03-03
  • Nginx中全局变量整理小结

    Nginx中全局变量整理小结

    对于Nginx下全局变量整理,方便使用Nginx的朋友调用全局变量。
    2010-08-08
  • Nginx下载、安装与使用图文教程

    Nginx下载、安装与使用图文教程

    Nginx是一个高性能的HTTP和反向代理服务器,支持IMAP/POP3/SMTP服务,本文介绍了Nginx的下载、安装、启动和关闭方法,包括Windows版和Linux版(CentOS下)的详细步骤,需要的朋友可以参考下
    2024-11-11

最新评论