0

ベータ テストで django アプリケーションをクライアントに公開したいと考えています。当社の SSL 証明書は、http://www.domain.com/ (サブドメインなし) に対してのみ機能します。だから私はマップしたいと思います:

http:// 192.168.0.9:8080/ からhttp://www.domain.com/beta/へ

これをnginx.confに追加しました

   location /beta {
            rewrite            ^([^.]*[^/])$ $1/       permanent;
   }

   location /beta / {
            proxy_set_header        X-Url-Prefix            http://www.domain.com/beta/;
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_set_header        Host                    $host;
            proxy_pass              http:// 192.168.0.9:8080/;
   }

最初のページは良さそうに見えますが、すべてのリンクが機能しません。リンクは {% url ... %} テンプレートタグによって作成されます。

PS: http:// と IP の間のスペース --> stackoverflow は、到達不能のように私の質問を保存することを拒否します

4

1 に答える 1

1

Django は、ドメインのルートで提供されていないことに注意する必要があります。デフォルトでは、すべてが /. これを処理する方法は複数ありますが、おそらく最も簡単な方法は、デフォルトの SITE_ID の下に「www.domain.com/beta」をサイト フレームワークに追加することです (INSTALLED_APPS に追加する必要があります)。そのモデルを管理インターフェースで公開し、適切なサフィックスを設定します。

django サイト フレームワークを見て、URL ルートを FQDN に追加します。

于 2012-08-04T22:29:26.867 に答える