我正在使用ubuntu 16.04和nginx 1.10,并且我已经关注https://www.linuxbabe.com/security/letsencrypt-webroot-tls-certificate来安装证书。我已成功获得证书并按照指示更新了我的nginx配置文件:
2017/05/20 07:59:47 [notice] 21911#21911: signal process started
2017/05/20 07:59:58 [error] 21913#21913: *28 directory index of "/var/www/html/ " is forbidden, client: 216.xx.xx.xx, server: mysite.com, request: "GET / HTTP/2.0", host: "mysite.com"
当我运行sudo nginx -T时,我没有收到错误。
但是当我打开我的网站时,我收到403错误。
/ var / log / nginx的错误日志显示:
execute 'clone-mercurial-repository' do
code <<-EOH
cd '/root/projects/'
hg clone https://bitbucket.org/some_repo
EOH
not_if { File.exist?("/root/projects/some_repo") }
end
我怎样才能使这个工作?
答案 0 :(得分:1)
错误的location
块中有一堆server
块。我认为return
之后的所有内容都应该在另一个区块中。
如果您希望/.well-known
可以访问http
,则需要从https
服务器中删除HSTS标头。
目前,root
服务器中有https
个语句,没有其他内容(SSL内容除外)。因此,默认操作是提供/var/www/html/index.html
(如果存在)或返回403。