相关疑难解决方法(0)

站点可用与站点启用与 conf.d 目录(Nginx)的区别?

我有一些使用 linux 的经验,但没有使用 nginx 的经验。我的任务是研究应用服务器的负载平衡选项。

我已经使用 apt-get 安装了 nginx,一切看起来都很好。

我有一些问题。

sites-available 文件夹和 conf.d 文件夹有什么区别。这两个文件夹都包含在 nginx 的默认配置设置中。教程使用两者。它们的用途是什么,最佳实践是什么?

启用站点的文件夹有什么用?我如何使用它?

默认配置引用一个 www-data 用户?我必须创建那个用户吗?如何为该用户提供运行 nginx 的最佳权限?

linux ubuntu configuration nginx web-server

157
推荐指数
4
解决办法
12万
查看次数

Nginx 一个ip和多个ssl证书

示例案例。我有一个带有一个 IPV4 地址的网络服务器。我托管了大约 50 个网站,其中只有两个拥有 ssl 证书。我已经为 2 个 ssl 网站配置了虚拟主机,一切正常,除了一个大问题 - 如果我使用 https:// 前缀访问其他 48 个站点(它们没有 ssl 证书),我看到我的最新网站带有 SSL 证书.

可以在非 SSL 网站上阻止 https 前缀吗?或者只有一种解决方案 - 使用专用 IP 地址。如果我有专用的 IP 地址,我将使用以下配置:

server {
        listen 111.222.333.444:443 ssl;
}
Run Code Online (Sandbox Code Playgroud)

这样,如果我在非 SSL 网站上强制使用 https - 没有任何反应。

ssl nginx

8
推荐指数
1
解决办法
2万
查看次数

Nginx 忽略 server_name

我有一个在通过 HTTPS 运行的 Nginx Web 服务器上运行的网站。我最近注意到有人将他们的域指向我的 Web 服务器,而 Nginx 正在为我的网站提供这个坏域。看起来它甚至在谷歌索引......

Nginx 配置:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/nginx/ssl/example.com/ssl-bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;

    root /var/www/example.com;
    index index.html;
}
Run Code Online (Sandbox Code Playgroud)

我曾尝试添加一条if语句来检查是否$host此处server_name推荐的匹配

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/nginx/ssl/example.com/ssl-bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;

      # Check if incoming hostname matches server_name 
      if ($host != $server_name) {
        # If not, return 404
        return 404;
      }

    root /var/www/example.com;
    index index.html;
}
Run Code Online (Sandbox Code Playgroud)

这个添加似乎没有帮助。这些都在正确的轨道上吗?我们欢迎所有的建议

nginx web-server

7
推荐指数
1
解决办法
5565
查看次数

在 nginx 中处理 default_server 和 public ip 的最佳实践

我最近在 debian 8 上创建了一个 nginx 服务器。它在 /etc/nginx/sites-available/default 上提供了一个默认配置,它重定向到一个 nginx 欢迎页面。

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;

server_name your_server_ip;

location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
    deny all;
}
}
Run Code Online (Sandbox Code Playgroud)

我添加了一个新的生产页面,比如“example.com”,上面有 ssl。

在 ../example.com 的配置中,它没有设置为默认服务器。

server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}

server {

# SSL configuration

listen 443 ssl;
listen [::]:443 …
Run Code Online (Sandbox Code Playgroud)

linux ssl debian nginx

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

nginx ×4

linux ×2

ssl ×2

web-server ×2

configuration ×1

debian ×1

ubuntu ×1