标签: nginx

iptables 打开 80 端口,但连接超时

我的服务器上有 nginx,我运行下面的脚本向 iptables 添加规则:

#!/bin/bash
ip=/sbin/iptables
services='22 25 53 80 443 5432 8000 8080'
$ip -F;
$ip -t nat -F;

echo -e "Opening port 22 for ssh";
$ip -A INPUT -p tcp --dport 22 -j ACCEPT;
$ip -A OUTPUT -p tcp --sport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT;

$ip -P INPUT DROP;
$ip -P OUTPUT ACCEPT;
$ip -P FORWARD DROP;

echo -e "Accept lo";
$ip -A INPUT -i lo -j ACCEPT;
$ip -A OUTPUT -o lo -j ACCEPT;

$ip …
Run Code Online (Sandbox Code Playgroud)

firewall nginx iptables

-1
推荐指数
1
解决办法
2571
查看次数

nginx - 将对不存在的文件的所有请求重定向到索引页面?

我有一个带有 1 个 html 文件的简单网站index.html。我希望该类型的所有用户都example.com/abcde将被重定向到example.com 当然,所有指向资源文件(图像/css/js 等)的链接都应该工作

目前,我有这个:

location / {
    try_files $uri /index.html;
}
Run Code Online (Sandbox Code Playgroud)

此设置有效,如果用户尝试打开example.com/abcde. 但是浏览器中的URL并没有改变... 如何重写URL?

rewrite nginx

-1
推荐指数
1
解决办法
2164
查看次数

什么网络服务器用于无尽网站?Nginx 还是 Apache?

我有一个 768MB 的 Linode VPS。在另一台服务器(Speedysparrow)上,同样有 768MB,我运行了 Nginx,它非常棒,你可以在这里看到:http ://www.ubuntubrsc.com/ 。这个网站,我在下面谈到的设置,使用大约 160~180MB,每天大约有 15~20k 的综合浏览量。

但我正在创建一个无尽的网站,我想知道我的网络服务器。我一直在将 Nginx 与 PHP-FPM、Varnish、APC 和 Percona 的 MySQL 一起使用,它按预期工作,但我想知道......

由于 mod_pagespeed,我想尝试一下 Apache。遗憾的是,Nginx 没有 mod_pagespeed 支持(据我所知),它似乎是一个非常好的安装模块。

当然,我可以(并且确实)使用 W3 Total Cache,但我认为 mod_pagespeed 无论如何都会很棒。我也总是可以优化 Apache 的地狱......但我不知道它是否能在 768MB VPS 中运行良好......我怀疑它至少会比我的 Nginx 设置做得更好。

此外,还有网站的安全部分......

你看,因为它是一个无尽的网站,我猜它迟早会成为一个目标。我似乎有其他网站与此内容有关,并且就我所知如何保护 Nginx(至少是困难的事情),我似乎有更多关于 Apache 主题的资源。

例如,诸如5G 防火墙之类的东西都集中在 Apache 中。我可以为 Nginx 重写所有规则,但这还不是我擅长的。

我在使用 W3 Total Cache + Nginx 时还有一个问题:如果我使用磁盘缓存(增强型),我的首页会出现 404 错误,所以我必须将它与 APC 或普通磁盘一起使用...

所以我在这里的问题是:mod_pagespeed + Apache 的所有安全资源是否值得?我应该将 Apache 与 mod_pagespeed 一起使用还是我不会从中获得任何好处而应该继续使用 Nginx?

感谢您的时间人们:)

ubuntu optimization vps nginx apache-2.2

-2
推荐指数
1
解决办法
932
查看次数

是否可以阻止使用 IP 伪装服务的用户?

可能的重复:
在哪里可以找到以及如何阻止列入黑名单的 IP 和代理?

某些程序会更改用户似乎来自的 IP。
我想知道是否有办法阻止这些用户,只允许他们使用他们的真实 IP 访问我的网站。

php nginx

-2
推荐指数
1
解决办法
142
查看次数

启动 Nginx 时`p` 选项是什么意思

Nginx 启动选项的文档对选项给出了以下解释-p

-p prefix Set prefix path (default: /usr/local/nginx/). (version >= 0.7.53)
Run Code Online (Sandbox Code Playgroud)

我真的不明白这是什么意思。这个选项可以用来做什么?什么是前缀?

nginx

-2
推荐指数
1
解决办法
493
查看次数

通过 django 发送电子邮件不适用于 Gunicorn / NGinx`

我正在尝试从我的 django 应用程序发送电子邮件。

但是,这不适用于我的 NGINX(用于静态资源)+ GUNICORN 服务器。

但是,同样适用于 django 的默认网络服务器。到目前为止,我还没有设置邮件服务器本身。

我不确定问题是什么。

让我解释整个情况,因为这个问题没有得到很好的解释。

如果我使用默认调试 WSGI 从 Django 中的 Web 应用程序发送电子邮件,

和以下代码

from django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', 'from@example.com',
    ['to@example.com'], fail_silently=False)
Run Code Online (Sandbox Code Playgroud)

我可以发送电子邮件。

但是,我已经设置了一个 nginx 服务器和一个 gunicorn wsgi。我无法发送邮件。

我的 nginx.conf 看起来像这样

server {
        listen 80;
        listen 443;
        listen 587;
        server_name 172.17.110.205;
        client_max_body_size 0M;

        access_log /home/msrb_db/msrb_db_application/access.log;
        error_log /home/msrb_db/msrb_db_application/error.log;

        location /static {
                root /home/msrb_db/msrb_db_application;
        }

        location / {
                proxy_pass http://172.17.110.205:8080;
        }
}
Run Code Online (Sandbox Code Playgroud)

我有一个 gunicorn 服务器作为系统文件,其工作方式如下

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=msrb_db …
Run Code Online (Sandbox Code Playgroud)

email email-server nginx django gunicorn

-2
推荐指数
1
解决办法
2265
查看次数

使用不同端口在同一服务器上设置多个 https

我正在尝试通过 apache 或 nginx 虚拟主机设置多个 https 网站,但我注意到我必须将端口附加到 IP 地址的末尾才能查看使用非默认 443 ssl 端口的网站的 https

是否可以在同一台服务器上使用不同的端口拥有多个 https 网站?如果是,那么如何才能做到这一点而不需要在末尾附加非默认端口

我尝试过什么

# Ensure that Apache listens on port 80 and all ssl ports
Listen 80 
Listen 443
Listen 543


# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
NameVirtualHost *:443
NameVirtualHost *:543

<VirtualHost 192.168.101.44:443>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here

</VirtualHost>

<VirtualHost 192.168.101.54:543>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

按此顺序,将能够分别访问https://www.example1.comhttps://www.example2.org上的网站

这可能吗?阿帕奇?nginx?我使用这两个网络服务器,所以想知道它是否可以与其中一个或两个一起使用。如果需要,我可以将问题编辑得更清楚。

谢谢

ssl nginx virtualhost apache-2.2

-2
推荐指数
1
解决办法
9586
查看次数

Bjoern 比 Nginx 快 4 倍——如何调整 Nginx 来处理 Bjoern proxy_requests 而不损失性能?

我试图将Bjoern放在 Nginx 之后,以便轻松实现负载平衡和 DoS/DDoS 攻击缓解。

令我沮丧的是,我不仅发现它会像芯片一样丢弃连接(它在总连接数的 20% 到 50% 之间变化),而且如果不放在后面,它实际上似乎更快。

这是在具有 6GB RAM 和双核 2Ghz cpu 的机器上测试的。

我的应用程序是这样的:

import bjoern,redis

r = redis.StrictRedis(host='localhost', port=6379, db=0)

val = r.get('test:7')

def hello_world(environ, start_response):
    status = '200 OK'
    res = val
    response_headers = [
        ('Content-type','text/plain'),
        ('Content-Length',str(len(res)))]
    start_response(status, response_headers)
    return [res]

# despite the name this is not a hello world as you can see
bjoern.run(hello_world, 'unix:/tmp/bjoern.sock')
Run Code Online (Sandbox Code Playgroud)

nginx配置:

user www-data;
worker_processes 2;
worker_rlimit_nofile 52000; # worker_connections * 2
pid /run/nginx.pid;

events { …
Run Code Online (Sandbox Code Playgroud)

python nginx redis

-3
推荐指数
1
解决办法
7478
查看次数

“未指定输入文件。” (我傻了,删了一个用户)

所以我最近有一台服务器(运行多个站点)被黑了,一个低级别的用户帐户正在启动大量进程(发送垃圾邮件),这些进程反复使服务器崩溃。出于无奈,我删除了该用户。

我立即后悔并开始在每个站点上收到 500 个错误。我用相同的用户名和密码创建了另一个用户,现在我得到了

No input file specified.
Run Code Online (Sandbox Code Playgroud)

在每一页上。

经过一些谷歌搜索后,看起来这可能与我的 chroot 和 PHP 以及 nginx 具有不同的路径有关。我假设我在删除用户之前所做的任何路径设置都被用户删除了。我会在哪里尝试修复此设置?

非常感谢。我是个白痴。

linux nginx users

-3
推荐指数
1
解决办法
119
查看次数

在端口 80 上运行的其他一些进程会阻止 nginx 启动

我需要使用虚拟主机配置 nginx。但是当我尝试启动 ngnix 时,它失败,提示进程已在使用端口 80。我如何找出哪个进程正在使用端口 80 并杀死它,以便我可以启动 nginx?

更新:

vehico@metaiot:~$ netstat -tulpn
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN     
Run Code Online (Sandbox Code Playgroud)

nginx

-3
推荐指数
1
解决办法
7511
查看次数

为什么 nginx 在 AWS Marketplace 上要花钱

我正在考虑在 m1.small 实例上运行 nginx。我注意到在市场上您可以部署 ami,但每小时的费用为 0.024 美元。我虽然 nginx 是一个开源、免费的网络服务器。这个额外收费的原因是什么?

nginx amazon-ec2 amazon-web-services

-4
推荐指数
1
解决办法
319
查看次数

-5
推荐指数
1
解决办法
443
查看次数

使用 Nginx 在 URL 中隐藏协议?

我最近在我的 Nginx 服务器上配置了 HTTPS,但是我认为在 URL ( http/ https) 中显示协议很难看。我很好奇是否有办法将协议隐藏在地址栏中,同时仍然保持 HTTPS 安全性。

目前我的 URL 看起来像: https://example.com 但我希望它看起来像example.com.

非常感谢任何输入!

rewrite nginx https

-6
推荐指数
1
解决办法
190
查看次数