我的Joomla网站的nginxconfiguration有问题。 我想基于所使用的tld重写/redirect。 例: domain.fr – > domain.com/fr domain.se – > domain.com/se 我怎样才能做到这一点?
我试图找出如何在端点处于根上下文中时在nginx中configuration反向代理: http://frontend.com/mylink代理转发到http://10.0.0.2:8000/ 不幸的是,我不能在http://10.0.0.2:8000更改应用程序的上下文,所以我试图找出解决这个问题的nginx解决方法。 有以下情况时,以下configuration通常可以正常工作,但在以上情况下不起作用: location /mylink { proxy_pass http://10.0.0.2:8000; proxy_redirect http://10.0.0.2:8000 /mylink; port_in_redirect off; } 任何想法,我在这里失踪?
我已经添加了以下内容到我的nginxconfiguration来处理欺骗域: if ($host !~* ^(.*example.org|\d+\.\d+\.\d+\.\d+)$ ) { return 444; } 现在,它将IP地址列入白名单,因为我需要接受某些请求。 这是AWS ELB的后台,因此它也需要响应IP地址。 理想情况下,我希望它只接受自己的公共和自己的私人IP地址。 但是,我不想将这些代码硬编码到configuration中,因为它们是AWS实例。 所以我想我想知道是否有人提出了一个阻止欺骗主机头的解决scheme,专门限制到所需的IP。 最好的想法,我可以想出一个脚本,生成configuration文件,在启动时添加正确的IP,然后将它们复制到nginxconfiguration文件夹。 但我觉得必须有一个更优雅的解决scheme,不需要我写一个启动脚本。 为什么 由于有人问我为什么要这样做,我基本上有两个目标: 消除由于HOST_HEADER SuspiciousOperation错误而收到的Django错误 防止僵尸程序(占这些欺骗请求的99.9%)甚至到达我的Web应用程序层。
我试图让nginx在我的Web服务器上进行负载均衡,同时在负载平衡器级别终止SSL。 我正在使用的nginx.conf文件是基于所有的指导做这个确切的事情,但我不能得到它的工作。 当去标准的HTTP,负载平衡器工作正常。 但是,当试图通过HTTPS访问负载均衡器时,浏览器只是挂起,最终给出ERR_CONNECTION_REFUSED。 我在日志中看到没有错误,甚至在尝试HTTPS时在访问日志中看到任何错误,所以我不知道问题可能是什么。 我已经尝试了很多不同的configuration选项,包括尝试不同的SSL证书,PEM编码,捆绑证书等,都没有效果。 这是nginx.conf的主要部分: upstream backend { #web01 server 10.01.01.102; #web02 server 10.02.02.77; } #setup proxy proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # standard http server server { listen 80; listen 4444; server_name *.example.com; location / { proxy_pass http://backend; } } #server for https requests server { listen 443 […]
我试图用不同的proxy_keycachingajax请求。 我的常规代理密钥: proxy_cache_key "$host$request_uri"; 我想使用不同的proxy_cache_key作为Ajax请求(与X-Requested-With头一起提供)。 像这样的东西 if ($http_x_requested_with) { proxy_cache_key "$host$request_uri$cookie_SID"; } 我怎样才能做到这一点?
我想testing这个网站,我还没有一个域,并希望能够通过这样的东西访问它: http://123.123.123.123/testsite 我认为我的testsite.conf文件,我可以这样做: server { listen 80; server_name 123.123.123.123/testsite; access_log /var/log/nginx/testsite.com.access.log; access_log /var/log/nginx/testsite.com.error.log; root /var/www/testsite; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; } } 但它不起作用…任何人都可以指向正确的方向吗? 谢谢
这可能是一个愚蠢的问题,但经过Googlesearch了一会儿,我找不到答案,或者只是不知道该怎么去问。 我有一个名为“myserver1”的服务器上运行的Web应用程序。 我已经提出了一个相同的Web应用程序的实例“myserver2”,并build立两个盒子上的两个数据库之间的复制。 现在,我想使用nginx来做一些负载平衡,再加上一个服务器接pipe,如果其他龙骨结束。 大多数的nginx文档是围绕这样一个简单的场景编写的,但是似乎表明你把一个nginx服务器放在web服务器的前面。 这似乎是另一个单一的失败点。 你怎么让nginx本身冗余? 你可以在两个web服务器上运行nginx吗? 如果是这样,你在哪里指向myapp.mydomain.com的DNS条目? 编辑:我想我应该补充说,这是一个相对较小的用户群的内部应用程序。 我主要担心的是,如果我们的内部用户失去了服务器或与其中一个数据中心的连接,他们仍然可以做到。 我只是不能看到如何在nginx上做到这一点,而不会引入另一个单点故障。
我已经将以下规则添加到了我的nginx.conf文件中 rewrite ^/top100/Armin%20van%20Buuren/(.*)$ http://www.example.com/armin-van-buuren/$1 redirect; rewrite ^/top100/armin-van-buuren/(.*)$ http://www.example.com/armin-van-buuren/$1 redirect; rewrite ^/top100/(.*)$ http://www.example.com/$1 redirect; 对于第一条规则,它将redirect到www.example.com/top100/Armin%20van%20Buuren/到www.example.com/Armin%20van%20Buuren/ 其他2个规则工作正常。 我在这里弄到了什么?
我正在使用Nginx在django开发服务器上提供静态文件。 但是我不能让它工作。 服务器运行良好,但nginx无法find静态文件。 这是我在nginx.conf中的设置: listen 8080; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { #root html; #index index.html index.htm; proxy_pass http://127.0.0.1:8000; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; } location /static/ { alias /path/Documents/python_projects/to_pm/static/; access_log off; expires 30d; } 我的项目settings.py: STATIC_URL = '/static/' # for production STATIC_ROOT = os.path.join(BASE_DIR, 'static') 我也用python manage.py collectstatics把所有静态文件复制到/path/Documents/python_projects/to_pm/static/文件夹。 但是当我使用http://localhost:8080这个站点显得非常难看,显然这个静态文件并不是由nginx提供的。 […]
我在Nginx服务的Arch Linux上configurationNagios时遇到了问题。 Nagios服务无缝运行,但通过Nginx的服务中断。 从屏幕截图中可以看到,字体全部混乱,图标不显示在浏览器中。 我怀疑CSS和图像文件的path在某种程度上被破坏,因此Nginx无法保存。 这是我的Nginx虚拟服务器conf。 我认为我犯了一些愚蠢的错误,但是我不能发现这个问题。 错误日志显示如下: *334 open() "/usr/share/nagios/share/nagios/images/ndisabled.gif" failed (2: No such file or directory) 但是,GIF位于/usr/share/nagios/share/images/ndisabled.gif表明对path有一些混淆,但是我不知道如何最好的修复。 大概是这个论坛的其中一位Nginx / Nagios专家会在微秒内发现问题! server { server_name nagios.bellaria www.nagios.bellaria; root /usr/share/nagios/share; listen 80; index index.php index.html index.htm; access_log nagios.access.log; error_log nagios.error.log; auth_basic "Nagios Access"; auth_basic_user_file /etc/nagios/htpasswd.users; location ~ \.php$ { try_files $uri = 404; fastcgi_index index.php; fastcgi_pass […]