当前位置: 首页 > article >正文

ubuntu 24.04-无域名创建本机和局域网和同网段局域网机器可访问的https网页服务

1. 安装nginx, apt install nginx

 apt install nginx

2. 创建nginx.conf配置文件:

gedit /etc/nginx/nginx.conf

3. 配置文件内容如下:

user snake;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    include /etc/nginx/conf.d/*.conf;

    # HTTP Server (Port 80) - 强制重定向到 HTTPS
    server {
        listen 80;
        listen [::]:80;
        server_name _;

        # 强制重定向到 HTTPS
        return 301 https://$host$request_uri;
    }

    # TLS enabled server (Port 443)
    # HTTPS server
    
    server {
       listen       443 ssl;
       server_name 192.168.0.14 192.168.89.55 localhost;

       ssl_certificate /etc/nginx/ssl/server.crt;
       ssl_certificate_key /etc/nginx/ssl/server.key;   

       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;

       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

       location / {
#           root   html;
           root	/media/snake/Rocky/Projects/github/vtk/Kitware/vtk-wasm-demos/main/ubuntu;
           index  index.html;
       }
    }
    
}
    

4. 关闭 linux 的防火墙(仅用于本地测试, 生产环境不可这样搞)

systemctl stop ufw

systemctl stop firewalld

5. 开启nginx服务:

systemctl start nginx

6. 如果修改了nginx.conf配置文件,则需要重启nginx服务:

systemctl restart nginx

systemctl reload nginx

7. 验证是否已经开启成功:

systemctl status nginx

如果显示

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-12-20 17:40:57 CST; 30min ago
       Docs: man:nginx(8)
    Process: 129619 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 129621 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 129663 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
   Main PID: 129622 (nginx)
      Tasks: 25 (limit: 74010)
     Memory: 29.2M (peak: 50.1M)
        CPU: 467ms
     CGroup: /system.slice/nginx.service
             ├─129622 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─129665 "nginx: worker process"
             ├─129666 "nginx: worker process"
             ├─129667 "nginx: worker process"
             ├─129668 "nginx: worker process"

则表示nginx服务已经成功运行。

8. 本机访问:

https://127.0.0.1/

或:

https://localhost/

或:

https://192.168.89.55/

, 同网段局域网机器访问:

https://192.168.89.55/

9. 如果nginx没有成功开启, 则验证一下配置文件:

nginx -t

根据报错信息,修改  /etc/nginx/nginx.conf配置文件, 直到验证通过, 显示:

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

稍后补充证书和自签名问题。

参考资料:

Nginx安装和配置_apt install nginx-CSDN博客

nginx配置https(内网)-CSDN博客

局域网https自签名教程_rehash: warning: skipping ca-certificates.crt,it d-CSDN博客

Nginx内网环境开启https双协议-CSDN博客

nginx配置局域网访问https - 简书

全网最详细的局域网https自签名教程(收藏)

出于某个需求,要生成 127.0.0.1 的自签名证书。

防火墙管理入门:Firewalld 与 UFW_ufw和firewalld-CSDN博客

linux 的防火墙 ufw、firwalld、iptables 、 - 沧海一声笑rush - 博客园

服务器防火墙工具firewalld、ufw的使用_ufw permanent-CSDN博客

Ubuntu 9.10 UFW防火墙使用教程

如何修复UFW状态在Linux中显示为非活动-电脑知识-PHP中文网

os:ubuntu 使用防火墙firewalld - lnlidawei - 博客园

本地测试使用自签名证书以开启网站https(例子说明:Nginx_访问自签名证书服务器-CSDN博客

mkcert - 0 配置,为 localhost 127.0.0.1 自签发安全证书 - 小众软件

如何修复“无法连接到https://127.0.0.1 SSL证书问题:自签名证书”-腾讯云开发者社区-腾讯云

 自签名证书仅适用于localhost,不适用于127.0.0.1-腾讯云开发者社区-腾讯云

ubuntu利用nginx配置https服务器_百度知道

本地 https 环境解决方案 - 哔哩哔哩

本地https快速解决方案——mkcert - DTeam 技术日志

https://github.com/FiloSottile/mkcert

本地https快速解决方案——mkcert - 简书

本地 https 环境解决方案

同一局域网下windows和linux之间通过SSH互传文件

ubuntu关闭防火墙后无法访问端口?-纵横云

Ubuntu8080端口无法被访问_ubuntu开放8080端口-CSDN博客


http://www.kler.cn/a/445394.html

相关文章:

  • uniapp自定义树型结构数据弹窗,给默认选中的节点,禁用所有子节点
  • 艾体宝案例丨CircleCI 助力 ANA Systems 打造高效 CI/CD 模型
  • 方正畅享全媒体新闻采编系统 screen.do SQL注入漏洞复现
  • C语言导航 6.1一维数组
  • Apache Kylin最简单的解析、了解
  • 论文笔记:是什么让多模态学习变得困难?
  • JAVA:组合模式(Composite Pattern)的技术指南
  • Nginx负载均衡(upstream)
  • SM2 算法介绍
  • UG NX二次开发(C#)-机电概念设计-UIStyler中selection块选择信号等对象的过滤器设置
  • Python语法之列表(包含检测练习)
  • 第十七章:反射+设计模式
  • facebook商业管理平台有什么作用?
  • 计算机网络 八股青春版
  • Spring Boot 2.1.7 数据源自动加载过程详解
  • 计算机图形学与虚拟现实(VR):相关学点、图形学、虚拟现实、未来发展
  • 细粒度生物医学多模态对比学习
  • OpenSSL 心脏滴血漏洞(CVE-2014-0160)
  • 番外篇 Git 的原理与使用
  • 【AIGC】结构化的力量:ChatGPT 如何实现高效信息管理
  • 【进阶编程】MVVM的物理架构目录
  • VarifocalLoss在Yolov8中的应用
  • SpringBoot 启动类 SpringApplication 一 构造器方法
  • ESP32物联网开发
  • ChatGPT等大语言模型与水文水资源、水环境领域的深度融合
  • Spring(一)---IOC(控制权反转)