我似乎无法正确configurationnginx来返回robots.txt内容。 理想情况下,我不需要该文件,只想提供直接在nginx中configuration的文本内容。 这是我的configuration: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location = /robots.txt { #return 200 "User-agent: *\nDisallow: /"; #alias /media/ws/crx-apps/eap/welcome-content/robots.txt; alias /usr/share/nginx/html/dir/robots.txt ; } location / { try_files $uri $uri/ =404; } } = /robots.txt位置中的任何内容都不起作用,我不明白为什么。 访问http://localhost/robots.txt给出了404。但是, http://localhost/index.html是正确的。 请注意,除了添加新的位置(用于testing)之外,我没有更改从apt-get install nginx获得的nginx的任何默认设置。
我有GitLab的nginx设置在127.0.0.1:8088听。 然后我有一个系统nginx(通过Ubuntu上的apt-get安装)作为反向代理与HTTPS设置: upstream gitlab { server localhost:8088 fail_timeout=0; } server { listen 80; server_name gitlab.myhost.com; return 301 https://$server_name$request_uri; } # let gitlab deal with the redirection server { listen 443 ssl; server_name gitlab.myhost.com; ssl_certificate /srv/www/gitlab.myhost.com.unified.crt; ssl_certificate_key /srv/www/gitlab.myhost.com.key; location / { proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; […]
我在数字海洋服务器上运行2个Ghost博客: Ubuntu 14.04.3 LTS Nginx 1.4.6(Ubuntu) 节点v0.12.7 我使用了Digital Ocean提供的说明来设置博客,他们工作良好,并在以前升级。 昨天晚上,我把博客#1从Ghost v0.6.0升级到0.7.0,并没有遇到任何问题。 升级后,我运行service ghost-{blog1} restart ,它来到了盛况和胜利。 我立即尝试按照相同的步骤升级博客#2,但是当我重新启动服务后在浏览器中打开它时,出现“502 Bad Gateway”错误。 我发现npm无法正确安装SQLite3,并修复了这个问题。 现在,我可以通过运行npm start –production成功启动博客。 terminal显示Ghost正在运行并拦截请求,我可以在浏览器中使用该网站和博客应用程序。 但是当我运行service ghost-{blog2} start ,它会继续失败,不会出现terminal错误。 我收到以下消息: ghost-{blog2} start/running, process 1693 但是我仍然在浏览器中看到“502 Bad Gateway”错误。 编辑:我改变了我的启动脚本运行npm start –production > ghost-{blog2}.log而不是npm start –production ,我可以看到Ghost启动,然后立即退出,没有错误: > [email protected] start /var/www/{blog2}/ghost > node index 这就是日志中的所有内容,即使是在浏览页面几次之后。 Nginx会logging请求,但是Ghost不会。 相比之下,当我通过从terminal运行npm start –production […]
我一直在使用Googlesearch,无法找出这一个。 这看起来很简单,我相信这是,但我不是服务器专家。 我的url是: http://www.example.com/blog/?tag=Word1+Word2 : http://www.example.com/blog/?tag=Word1+Word2 tag=Word1+ http://www.example.com/blog/?tag=Word1+Word2 一些标签是一个单词(例如:自行车),有些更长(例如:双轮自行车)。 我需要这个url输出为: example.com/blog/tag/word1-word2/ 我怎样才能获得重写呢?
是否有可能转发一些请求基于他们的域名到另一台服务器(通过nginx)? 我有一个公共的nginx服务器,通过http和https服务于一些页面(在图片b.com中)。 现在我只能通过nginx服务器访问一个虚拟机,运行一个Apache服务器。 我可以告诉我的nginx服务器将请求(到a.com)转发到10.xxx服务器而不用触摸tls? 通过SNI,nginx应该知道哪个域名被请求? 我没有公共服务器上的a.com证书。
在执行每个IP速率限制之前,我想知道是否有一种模式只logging违规,而不实际阻止客户端。 因此,我可以在一段时间后轻松地检查这些参数是否正确。 这样的事情可能吗?
我目前在一个nginx反向代理的背后设置了TeamCity,但在浏览器中出现错误。 错误如下: WebSocket connection to 'ws://ci.example.net/app/subscriptions?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.2.7-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&X-atmo-protocol=true&browserLocationHost=http%3A%2F%2Fci.example.net' failed: Error during WebSocket handshake: Unexpected response code: 501 我查看了nginx错误日志和TeamCity错误日志,两者都是空的。 我的nginxconfiguration如下: server { listen 80; server_name ci.example.net; error_log /var/log/nginx/error.log; proxy_intercept_errors on; error_page 401 403 404 /404.html; location / { proxy_set_header Host $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_pass http://127.0.0.1:8111; proxy_read_timeout 90; proxy_redirect http://127.0.0.1:8111 http://ci.fluxmc.net; } […]
我试图完成三件事情: 按子域将stream量映射到不同端口上的多个应用程序之一。 如果子域没有被识别,redirect到www。 要求在所有子域上使用HTTPS。 我的nginxconfiguration到目前为止是: map $subdomain $subdomain_port { default 8000; www 8000; subdomain1 8001; subdomain2 8002; subdomain3 8003; } server { listen 80; listen [::]:80; server_name _; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name ~^(?P<subdomain>.+?)\.mydomain\.com$; ssl_certificate <cert>; ssl_certificate_key <key>; location / { # … various proxy headers, then … proxy_pass http://127.0.0.1:$subdomain_port; […]
我目前的设置包括一个pfSense防火墙,该端口将公共WANstream量转发到NAT内部IP。 例: 104.12.134.12:80(WAN IP)端口将所有stream量转发到192.168.1.104:80 这是按预期工作,stream量正确转发。 我遇到的问题是在Nginx日志中看到本地IP(即pfSense路由器IP,本例中为192.168.1.1)。 我search了很多文章,build议使用real_ip模块,并设置X-Forwarded-For头,但这是行不通的。 笔记: 我的路由器的IP不同于我的端口转发IP(这是故意的)。 我不拥有104.12.134.12,这只是一个例子。
我的服务器在Ubuntu 14.04和nginx上运行。 我的问题涉及到Cron ,我想用cron.txt文件启动它(crontab),它的内容: * * * * * /usr/bin/php /var/www/html/test.php >> /var/log/cron.log 如果我使用命令: crontab /var/www/html/cron.txt运行它,它完美的工作,脚本test.php正在执行。 但是,当我这样做,但使用PHP脚本(通过浏览器执行): exec('crontab /var/www/html/cron.txt'); ,它不起作用。 通过命令检查当前的cronjob: crontab -l -u www-data ,出现文件中的行,但是Cron没有完成它的工作。 也许这涉及到一些权限问题? 因为它只能以root身份执行。 有没有办法迫使克朗做www数据的任务呢?