我有photoURL http://cs10821.vk.me/u712377/d_9da50e0f.jpg它没有标题Access-Control-Allow-Origin *; 我用nginx修复它。 如果我写 location /photo/cs10821.vk.me/u712377/d_9da50e0f.jpg { proxy_pass http://cs10821.vk.me/u712377/d_9da50e0f.jpg; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; add_header Access-Control-Allow-Origin *; } 一切正常。 我写http://servername.ru/photo/cs10821.vk.me/u712377/d_9da50e0f.jpg ,我有我的照片与头部访问控制,允许来源*; 但是,如果我使用正则expression式 location ~ ^/photo/(.*)$ { proxy_pass http://$1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; add_header Access-Control-Allow-Origin *; } 我有错误502.请帮助我
我已经添加了一个SSL证书到我的网站,我有一个像这样的configuration文件: server { listen 80; listen [::]:80; server_name www.default.com default.com; return 301 https://default.com$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name default.com; … } 我有几个客户端在服务器的IP地址上查看中转站点,所以我会让他们看一下http://123.123.123.123 现在IP地址已经与几百人共享,并且SSL添加已经打破了IP地址的链接,我想将其redirect到域名。 我将redirect添加到顶部的块,还是创build第三个块? 例如: server { listen 80; listen [::]:80; server_name www.default.com default.com; return 301 https://default.com$request_uri; } server { listen 80; listen 123.123.123.123:80; server_name 123.123.123.123; return 301 https://default.com$request_uri; } […]
我获得了newdomain.org.il的ssl证书 但是,我从https://olddomain.org.il获得一些请求(图片) (由于客户有没有模式的链接,这是可以的) 我可以轻松地redirect非https请求: server { listen 80; server_name www.olddomain.org.il olddomain.org.il; return 301 https://newdomain.org.il$request_uri; } 但是,这不会赶上https的旧域请求 但是如果我为olddomain添加一个listen子句 server { listen 80; listen 443 ssl; server_name www.olddomain.org.il olddomain.org.il; return 301 https://newdomain.org.il$request_uri; } 请求会得到一个sslError,因为主机名将不匹配证书域。 任何解决方法这在nginx? (我知道我可以解决旧域名的另一个ssl证书或代码更改,以防止这些遗留的URL存在,但由于这是从旧应用程序的迁移过程,我真的不想。
正如标题所说,Nginx的Gzip不工作,我已经尝试了许多configuration分散在互联网上没有工作,我真的很沮丧,当简单的事情不工作。 gzip.conf: gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_min_length 256; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon; Chrome: Chrome Audit: Curl: 我清除了caching,一切仍然一样。 ======================= 更新: 我已经testing过gzip压缩 http://checkgzipcompression.com/ 并给了我: 但在Chrome显示: Firefox: removed gzip_vary * Hostname was NOT found in DNS […]
我目前正在努力使nginx安全的文件夹名称,无论其内部的文件名是什么。 比方说,我正在访问一个文件夹/一个/两个/三个文件,它看起来像这样: http://example.com/one/two/35d6d33467aae9a2e3dccb4b6b027878/file.mp3 所以文件夹“三”只能通过目录md5访问,而真正的path将返回403.我有成千上万的这样的文件夹,所以我需要保持隐藏,但通过远程客户端,只知道md5静态访问他们运行。 同时这样的链接也应该工作: http://example.com/one/two/35d6d33467aae9a2e3dccb4b6b027878/four/file.mp3 所以只有一个特定的目录级别被隐藏。
我目前有一个错误页面设置如下: error_page 503 @503; location @503 { error_page 405 = /system/maintenance.html; if (-f $request_filename) { break; } rewrite ^(.*)$ /system/maintenance.html break; } 当/system/maintenance.html文件存在时,这将正确地提供维护页面。 我还创build了一个/503.html ,其中包含特定于何时该网站/503.html的消息。 什么是最好的方式来服务error_page 503 /503.html当网站收到太多的stream量,而且还能够服务维护页面503状态代码?
我试图使用try_files让我的服务器回落到不同的文件位置,但我不能得到它的工作。 相反,我得到一个500服务器错误。 这里是文件结构: select>networking>存档 首先,我想检查网页,然后存档,如果文件不在网上。 例如:如果我想抓取test.mp4,首先我要查看/ opt / web / then / opt / web / archive 这是configuration: http { server { listen 80; root /opt/web/; location / { try_files $uri/ /opt/web/archive/; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; # Custom headers and headers various browsers *should* be OK with but aren't add_header 'Access-Control-Allow-Headers' […]
使用nginx http指令,可以在同一个端口上使用不同名称的多个服务器: server { listen 80; server_name server1.example.com; location / { proxy_pass http://server1.example.com; } } server { listen 80; server_name server2.example.com; location / { proxy_pass http://server2.example.com; } } 有可能让nginx代理多个mysql服务器在同一个端口上有不同的名字,就像你可以使用http? 他们不是集群或任何东西的一部分。 有不同的,无关的表。 stream { upstream db1.example.com { server db1.example.com:3306; #server_name db1.example.com; "server_name" directive is not allowed here } upstream db2.example.com { server db2.example.com:3306; } server { […]
我在行政上是一个初学者。 在ovh.com上有一个VPS,我希望在不同的IP(通常是中国)的2天内有28次尝试login我的SSH(安装了CentOS Web Panel的最新版本)。该计划安装了很多谷歌驱动器自由空间(ocamlfuse – :evil :),并运行多个网站与一个teampeak服务器,我想设置TS3,权限和阻止查询端口(传入和传出),由NginX设置多个网站,并没有丝毫怀疑这种攻击。现在,有人打破了我的17字密码,并closures了我的服务器(跆拳道,这是没有任何CPU / RAM)。 所以,为了确保我的VPS上没有任何恶意软件,我需要再次安装新的操作系统并configuration我的磁盘,并使用不同的密码字母数字… 关键和我的问题是,pfSense是一个很好的保护VPS的好主意? 我应该使用什么样的监控来确保我的系统运行良好,没有奇怪的行为(我知道有一个监控系统的应用程序)? 我应该注意什么部分,以确保我做得很好? 使用NginX或与我应该采取什么样的照顾危险? 我是一个初学者,所以如果你能帮忙或者只是回答我的任何问题,别担心,写信,我会投票求助。 为了完整答案,我将标记为已接受。 (对不起,英文破碎) 编辑:所以pfSense是有VPS非专用服务器。
当试图下载一个大文件(不知道什么大小就足够了,试图下载5Gb),连接卡住了: $ wget –verbose http://example.net/large.zip -O /dev/null –2016-12-14 12:52:38– http://example.net/large.zip Resolving example.net (example.net)… 1.2.3.4 Connecting to example.net (example.net)|1.2.3.4|:80… connected. HTTP request sent, awaiting response… 而这是永恒的,至less我是说10分钟。 这种文件的nginxconfiguration: location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires 7d; } 小的静态文件(和小我的意思是例如50Mb的)都很好。 closuresaccess_log; 到“开”没有帮助,这个请求上没有任何logging。 将文件types从zip更改为其他types不起作用。 最奇怪的是,如果我开始下载,并重新启动nginx后,下载开始就好了。 但只有这一个。 如果在服务器重新启动后启动另一次下载,则不能以相同的方式工作。