質問編集履歴
1
仮のURL「hogehoge.jp」を「example.jp」に変更。error.logの内容と実行環境を追記。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,15 +1,29 @@
|
|
1
|
-
例えば「**http://xxx.
|
1
|
+
例えば「**http://xxx.example.com**」(xxxはサブドメイン/example.comは仮のURL)にアクセスした際、ブラウザに表示されるURLはこのままで、実際には「**http://example.com/xxx/**」を表示したいと思っています。
|
2
2
|
|
3
3
|
そこで、/etc/nginx/conf.d/default.confに下記を追記しました。
|
4
4
|
```conf
|
5
5
|
server {
|
6
6
|
listen 80;
|
7
|
-
server_name ~^(.*).
|
7
|
+
server_name ~^(.*).example.com$;
|
8
8
|
|
9
9
|
location / {
|
10
|
-
proxy_pass http://
|
10
|
+
proxy_pass http://example.com/$1;
|
11
11
|
}
|
12
12
|
}
|
13
13
|
```
|
14
14
|
すると「502 Bad Gateway」が返されてしまいます。
|
15
|
-
「$1」の部分を「xxx」と固定にすると正しい結果が得られるので、「$1」がうまく取得できないないのだと思いますが、どのようにしたら良いでしょうか。
|
15
|
+
「$1」の部分を「xxx」と固定にすると正しい結果が得られるので、「$1」がうまく取得できないないのだと思いますが、どのようにしたら良いでしょうか。
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
###2017.11.21追記
|
20
|
+
|
21
|
+
error.logの内容は下記の通りです。
|
22
|
+
```log
|
23
|
+
2017/11/21 00:05:27 [error] 2961#2961: *3 no resolver defined to resolve example.com, client: 192.168.10.1, server: ~^(.*).example.com$, request: "GET / HTTP/1.1", host: "xxx.example.com"
|
24
|
+
2017/11/21 00:05:27 [error] 2961#2961: *3 no resolver defined to resolve example.com, client: 192.168.10.1, server: ~^(.*).example.com$, request: "GET /favicon.ico HTTP/1.1", host: "xxx.example.com", referrer: "http://xxx.example.com/"
|
25
|
+
```
|
26
|
+
また、実行環境についてはwin8.1にVirtualBox + Vagrantで環境構築し、hostsに下記を設定しています。
|
27
|
+
```hosts
|
28
|
+
192.168.10.10 example.com xxx.example.com
|
29
|
+
```
|