差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| 软件:nginx [2025/10/21 20:04] – admin | 软件:nginx [2025/11/21 23:54] (当前版本) – admin | ||
|---|---|---|---|
| 行 25: | 行 25: | ||
| 模块化设计:Nginx的核心功能相对简单,大部分功能是通过模块实现的。这些模块可以根据需要加载或卸载,提供了高度的灵活性。 | 模块化设计:Nginx的核心功能相对简单,大部分功能是通过模块实现的。这些模块可以根据需要加载或卸载,提供了高度的灵活性。 | ||
| - | 部署 | + | ===== 部署 |
| # | # | ||
| - | < | + | < |
| - | #卸载apache2 | + | #卸载apache |
| apt purge apache2 apache2-bin apache2-data apache2-utilsi | apt purge apache2 apache2-bin apache2-data apache2-utilsi | ||
| + | |||
| # | # | ||
| apt -y install curl gnupg2 ca-certificates lsb-release debian-archive-keyring | apt -y install curl gnupg2 ca-certificates lsb-release debian-archive-keyring | ||
| 行 41: | 行 42: | ||
| # | # | ||
| - | http://123.0.0.1/ | + | http://127.0.0.1/ |
| apt -y install php php-fpm | apt -y install php php-fpm | ||
| 行 64: | 行 65: | ||
| # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response. | # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response. | ||
| location / { | location / { | ||
| + | # $host保留原始Host头,$request_uri保留路径和参数 | ||
| return 301 https:// | return 301 https:// | ||
| } | } | ||
| 行 71: | 行 73: | ||
| sudo vi / | sudo vi / | ||
| server { | server { | ||
| - | listen | + | |
| + | | ||
| server_name | server_name | ||
| + | | ||
| + | # | ||
| + | ssl_certificate / | ||
| + | # | ||
| + | ssl_certificate_key / | ||
| + | |||
| root / | root / | ||
| location / { | location / { | ||
| 行 89: | 行 98: | ||
| root / | root / | ||
| } | } | ||
| + | } | ||
| + | |||
| + | location = / | ||
| + | root / | ||
| + | try_files $uri =404; | ||
| + | fastcgi_pass unix:/ | ||
| + | include fastcgi_params; | ||
| + | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
| } | } | ||
| 行 104: | 行 121: | ||
| #重启 | #重启 | ||
| sudo systemctl restart nginx | sudo systemctl restart nginx | ||
| - | |||
| - | |||
| 行 132: | 行 147: | ||
| ===== SSL ===== | ===== SSL ===== | ||
| + | |||
| + | ==== 自生成测试 ==== | ||
| + | |||
| + | <code -> | ||
| + | apt -y install openssl | ||
| + | |||
| + | openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ | ||
| + | -keyout localhost.key \ | ||
| + | -out localhost.pem \ | ||
| + | -subj "/ | ||
| + | </ | ||
| + | |||
| + | -x509:生成自签名证书(不是 CSR) | ||
| + | |||
| + | -nodes:不加密私钥(Nginx 启动时不需要输密码) | ||
| + | |||
| + | -days 365:有效期 365 天(可改) | ||
| + | |||
| + | -newkey rsa: | ||
| + | |||
| + | -keyout localhost.key:私钥输出文件 | ||
| + | |||
| + | -out localhost.pem:证书输出文件(PEM 格式) | ||
| + | |||
| + | -subj " | ||
| + | |||
| + | -subj 字段含义(按需修改): | ||
| + | |||
| + | 字段 含义 示例 | ||
| + | |||
| + | C 国家(2字母) CN | ||
| + | |||
| + | ST 省份 Beijing | ||
| + | |||
| + | L 城市 Dongcheng | ||
| + | |||
| + | O 组织/ | ||
| + | |||
| + | CN 通用名称(必须匹配访问的域名或 IP) localhost 或 127.0.0.1 | ||
| + | |||
| + | <code -> | ||
| + | chmod 600 localhost.key | ||
| + | chmod 644 localhost.pem | ||
| + | mkdir / | ||
| + | mv localhost.* / | ||
| + | </ | ||
| + | |||
| + | 自签名 SSL 证书在浏览器中一定会提示“不安全”,这是正常且预期的行为。自签名证书是任何人都可以生成,无法验证网站身份,存在中间人攻击风险。证书不是由受信任的 CA(证书颁发机构)签发的 | ||
| + | |||
| + | Chrome / Edge:在警告页面点击 “高级” → “继续前往...(不安全)” | ||
| + | |||
| + | 或直接在页面聚焦时输入:thisisunsafe(无提示,直接生效!) | ||
| + | |||
| + | Firefox:点击 “高级” → “接受风险并继续” | ||
| + | |||
| + | ==== 生产环境 ==== | ||
| 登录数字证书管理服务控制台 | 登录数字证书管理服务控制台 | ||
| 行 155: | 行 226: | ||
| # | # | ||
| - | mv 17312297_sujj.wiki_nginx.zip / | + | mv localhost_nginx.zip / |
| #解压 | #解压 | ||
| - | unzip / | + | unzip / |
| #配置 | #配置 | ||
| 行 171: | 行 242: | ||
| # | # | ||
| - | ssl_certificate / | + | ssl_certificate / |
| # | # | ||
| - | ssl_certificate_key / | + | ssl_certificate_key / |
| + | |||
| + | # | ||
| ssl_session_cache shared: | ssl_session_cache shared: | ||
| ssl_session_timeout 5m; | ssl_session_timeout 5m; | ||
| 行 182: | 行 255: | ||
| # | # | ||
| ssl_prefer_server_ciphers on; | ssl_prefer_server_ciphers on; | ||
| - | |||
| - | # | ||
| - | server { | ||
| - | listen 80; | ||
| - | # | ||
| - | server_name < | ||
| - | # | ||
| - | rewrite ^(.*)$ https:// | ||
| - | location / { | ||
| - | index index.php index.html index.htm; | ||
| - | } | ||
| - | } | ||
| </ | </ | ||