我在我的网站上build立一个新的永久链接结构。 添加了一些nginx重写规则后,有一个redirect循环到/ vlogger / info / info / info / info / … 老永久链接: /vlogger/user-name 新的永久链接: /vlogger/info/user-name 目前的nginx规则: location ~ /vlogger/(.*)$ { rewrite ^/vlogger/info/$1 permanent; } 我如何检查第二个目录(/ vlogger /“info /”)是否设置并redirect成功而没有循环? (*用户名仅包含:a-z0-9和 – (减号))
我正在尝试将http://www.example.comredirect到Nginx。 只有非www版本安装了证书。 我有两个301redirect规则: 1)从http://example.com到 server { listen 80; listen 443 ssl; server_name example.com; if ($scheme = http) { return 301 https://$server_name$request_uri; } } 2)从http://WWW.example.com到http://example.com server { listen 80; server_name www.example.com; return 301 $scheme://example.com$request_uri; } 当我从terminal通过curl请求www.example.com时,我看到: HTTP/1.1 301 Moved Permanently Location: http://example.com/ 这是我期望发生的事情。 但是,当我从浏览器执行相同的操作时,它会将我redirect到并引发证书错误。 我通过将证书添加到www版本来修复它,但是我想知道为什么没有它,它不能正常工作? 为什么curl给了我不同的结果? 以防万一我使用的SSL参数: ssl_session_cache shared:SSL:50m; ssl_session_timeout 5m; ssl_dhparam /etc/nginx/pki/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 […]
我搜查了整个网站和谷歌,并不能find我在找什么。 目前我知道,我们可以限制请求/ IP例如 limit_req_zone $ binary_remote_addr zone = 1:30m rate = 20r / s; 我们可以在任何我们想要的位置使用 limit_req zone =一个突发= 10个节点; 我的问题是。 我如何同时在全球范围内限制请求? 总之,我有一个PHP-FPM的位置,我想不pipe是什么,所有请求不超过200个请求/秒。 我想我们必须更换$ binary_remote_addr,但我不知道什么。
在安装了docker的AWS Amazon Linux上。 下面的命令运行, docker run -itd nginx bash然后 docker ps给了这个: 但是,当我在浏览器中访问服务器IP时,它给出的网站不能到达而不是Nginx页面。 我如何获得Nginx服务器页面? 谢谢
我试图让一个幽灵博客运行SSL和http2。 SSL工作正常,但不断在HTTP1.1服务。 我试图弄清楚为什么这个事情继续发生。 我的nginx conf文件如下所示: server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com-0001/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com-0001/privkey.pem; ssl_dhparam /etc/letsencrypt/live/example.com-0001/dhparam.pem; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; add_header Strict-Transport-Security max-age=31536000; add_header X-Frame-Options DENY; location / { proxy_pass http://localhost:2368; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; } } server { listen […]
我现在在操作系统级别上正在做的事情是: 初始化后,切换到需要variables的用户并导出variables,然后指定在configuration文件中设置它们,或者在root用户的/ etc / environment(Debian)中设置它们来考虑持久性 我通过“echo >>”或“sed”直接或通过主configuration查找设置的目录来执行很多操作。 为了我: export MYVAR=foobar echo "export MYVAR=foobar" >> /home/bradchesney79/.profile 最上面的一个可以在执行时使环境variables可用,但是当你注销时它将不见了。 把这个命令放在你的.profile文件中,你将在login时为你创build它。 sed -is/export MYVAR=.*/export MYVAR=barfoo/g /home/bradchesney79/.profile 为你: sudo -u brianchesney80 export HISVAR=something sudo -u brianchesney80 echo "HISVAR=something" >> /home/brianchesney80/.profile 为了所有人: ((Not fully certain how to export globally just yet)) sudo echo "OURVAR=fffoooooobbbaaarrr" >> /etc/environment 我不喜欢重新启动。 但是,我没有看到任何方法来启用这里为每个人设置的环境variables。 那么,想要查看不同用户的环境variables? sudo -u […]
我正在使用带有restify框架的node.js启动一个REST服务器。 因此,将没有静态页面。 但是,ssl(https)将是必需的。 把http服务器放在一个地方或者是一个不必要的复杂的东西是一个好主意?
我有这些htaccess规则: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes… RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 我使用了一个在线转换器,这是它给了我,但是,它不起作用,所以我不知道它有什么问题。 location / { rewrite ^/(.*)/$ /$1 redirect; if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; } } 提前致谢
我正在设置HAProxy,我需要根据API版本进行路由。 问题是V2没有在v1中embedded路由器的前缀。 这是一个例子。 v1 app route = server / v1 / path v2 app route = server / path 我需要configurationHA,以便将server / v2 / path路由到/ server / path,同时返回200而不是302状态码。 我不想让api用户知道任何不同于/ server / v2 / path的东西 这是我的configuration,一切默认为v2。 frontend api bind *:80 stats uri /ls acl url_v1 path_beg /v1 use_backend api_v1 if url_v1 default_backend api_v2 backend api_v2 balance roundrobin […]
我正在尝试设置一个用于Django的Nginx服务器。 首先,我只是想让它在一个非标准的端口上运行。 它什么时候工作? 我使用默认configuration安装了nginx,并马上看到基本的欢迎页面,如果我在浏览器中访问我的服务器IP地址。 如果我将sites-available / default中的端口更改为80以外的任何其他端口,我会得到很长的响应时间,然后超时。 这个人似乎有一个类似的问题,但没有答复是张贴。 我的设置 我在跑: nginx 1.10.1 Ubuntu 14.04.5 我没有运行防火墙 我有Wooey安装,虽然服务器没有运行(这是一个Django的开发服务器) 所有我已经在nginx安装更改是listen: 80 listen: 81 。 它在端口80上完美运行,在端口81上没有任何运行。 我试图将服务器名称更改为机器的IP,但是没有帮助。 这是一个数字海洋VPS,所以唯一的东西就是我安装的东西。 wget localhost:81下载服务器页面,显然它在内部工作,但是没有任何对外发生 我错过了什么? 我不知道如何进一步debugging。 IP表输出 Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all — anywhere anywhere REJECT all — loopback/8 anywhere reject-with icmp-port-unreachable ACCEPT icmp — anywhere anywhere […]