我有一個nginx運行的實例,它服務於多個網站。第一個是服務器IP地址上的狀態消息。第二個是admin.domain.com
上的管理控制檯。這些工作很好。現在我希望所有其他域請求都可以使用index.php
- 我有大量的域和子域名,將它們全部列在nginx配置中是不切實際的。nginx server_name通配符或全部收集
到目前爲止,我已經嘗試設置server_name
到*
但未能作爲一個無效的通配符。 *.*
的作品,直到我添加其他服務器塊,然後我猜它與他們衝突。
是否有辦法在定義其他站點後運行nginx中的全部服務器塊?
N.B.我不是垃圾郵件發送者,這些網站是有用內容的真正網站,它們只是由數據庫中的同一個CMS提供支持!
工作完美 - 非常感謝。我無法使用'server_name _;'作爲IP地址的狀態頁面,我不得不指定'server_name x.x.x.x'但沒關係! – Tak 2012-02-26 17:11:38
添加'default_server'似乎不適用於nginx 1.4.6,這是目前Ubuntu 14.04上的最新版本......當我添加它時,'configtest'命令返回一個錯誤,並且重新啓動服務器不起作用無論是。我已經用Debian jessie在我的服務器上嘗試了完全相同的配置,它具有nginx 1.6.2,並且它完美地工作。因此,如果您使用的是1.4.6,請嘗試另一個版本... – Nicomak 2016-02-22 03:21:17
HTTPS的注意事項:default_server'指令還設置將處理該端口上的請求的SSL握手的服務器。因此,如果您希望服務器塊A處理SSL,但服務器B充當HTTPS的catchall,則解決方案是在服務器B上設置server_name〜^(。+)$'''。 – Luke 2017-03-20 06:16:34