質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

1回答

2532閲覧

nginxの画面遷移ができません

bear_of_river

総合スコア1

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

0クリップ

投稿2021/10/14 09:53

編集2021/10/15 10:04

前提・実現したいこと

現在nginxを勉強中の者です。

nginxでリバースプロキシを設定したいと思っております。

参考:https://qiita.com/happycoding3110/items/457a24c2192a524f8cd1

発生している問題・エラーメッセージ

遷移ができません。

該当のソースコード

まず、
nginx.confとnginx.conf.defaultどちらのファイルを編集すべきでしょうか。

参照ページではdefault.confとなっているので今ではnginx.conf.defaultのことではないかと思うのですが・・・。

nginx.conf.default

server

1 listen 80; 2 server_name localhost; 3 4 #charset koi8-r; 5 6 #access_log logs/host.access.log main; 7 8 location / { 9 proxy_pass http://www.google.com; 10 # root html; 11 # index index.html index.htm; 12 }

nginx.conf

server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { #proxy_pass http://www.google.com; #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-Host $host; #proxy_set_header X-Forwarded-Proto $scheme; #proxy_redirect off; }

試したこと

両方のファイルでlocation /
{ proxy_pass http://www.google.com;}
を入れましたがうまくいきませんでした。

補足情報(FW/ツールのバージョンなど)

仮想環境(VMworkstation15)でOracleLinux8上にNginxを載せています。

エラー画面を添付いたします。
イメージ説明
この画面でエラーファイルは/etc/nginx/nginx.confであるということはわかるのですが
どの内容がエラーなのかわかりません。

以下エラーログです。

2021/10/15 16:38:24 [crit] 1970#0: *1 connect() to 183.79.217.124:443 failed
(13: Permission denied) while connecting to upstream, client: 192.168.237.1,
server: _, request: "GET /nginx-logo.png HTTP/1.1", upstream: "https://183.79
.217.124:443/nginx-logo.png", host: "192.168.237.8", referrer: "http://192.16
8.237.8/"
2021/10/15 16:38:24 [crit] 1970#0: *1 connect() to 183.79.217.124:443 failed
(13: Permission denied) while connecting to upstream, client: 192.168.237.1,
server: _, request: "GET /poweredby.png HTTP/1.1", upstream: "https://183.79.
217.124:443/poweredby.png", host: "192.168.237.8", referrer: "http://192.168.
237.8/"
2021/10/15 17:26:47 [crit] 1970#0: *6 connect() to 183.79.217.124:443 failed
(13: Permission denied) while connecting to upstream, client: 192.168.237.1,
server: _, request: "GET / HTTP/1.1", upstream: "https://183.79.217.124:443/"
, host: "192.168.237.8"
2021/10/15 17:26:47 [crit] 1970#0: *6 connect() to 183.79.217.124:443 failed
(13: Permission denied) while connecting to upstream, client: 192.168.237.1,
server: _, request: "GET /nginx-logo.png HTTP/1.1", upstream: "https://183.79
.217.124:443/nginx-logo.png", host: "192.168.237.8", referrer: "http://192.16
8.237.8/"
2021/10/15 17:26:47 [crit] 1970#0: *9 connect() to 183.79.217.124:443 failed
(13: Permission denied) while connecting to upstream, client: 192.168.237.1,
server: _, request: "GET /poweredby.png HTTP/1.1", upstream: "https://183.79.
217.124:443/poweredby.png", host: "192.168.237.8", referrer: "http://192.168.
237.8/"
2021/10/15 18:24:19 [crit] 2117#0: *1 connect() to 182.22.25.124:443 failed (
13: Permission denied) while connecting to upstream, client: 192.168.237.1, s
erver: _, request: "GET / HTTP/1.1", upstream: "https://182.22.25.124:443/",
host: "192.168.237.8"
2021/10/15 18:24:23 [crit] 2117#0: *1 connect() to 182.22.25.124:443 failed (
13: Permission denied) while connecting to upstream, client: 192.168.237.1, s
erver: _, request: "GET / HTTP/1.1", upstream: "https://182.22.25.124:443/",
host: "192.168.237.8"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

両方のファイルでlocation /

{ proxy_pass http://www.google.com;}
を入れましたがうまくいきませんでした。

こちらがどううまくいかなかったのか具体的な状況の説明が欲しいところですが、
もしかしてnginxからこういうエラーが出ていますか?

upstream sent too big header while reading response header from upstream,

これでしたら単にGoogleから送られてくるヘッダが大きすぎるということなので、
locationディレクティブにバッファの設定を加えてください。

proxy_buffers 8 32k; proxy_buffer_size 32k;

まず、

nginx.confとnginx.conf.defaultどちらのファイルを編集すべきでしょうか。

参照ページではdefault.confとなっているので今ではnginx.conf.defaultのことではないかと思うのですが・・・。

OracleLinuxのディレクトリ構造は分からないので、
申し訳ないですが、この情報だけでは自分は判断しかねます。

投稿2021/10/14 11:39

surface_0

総合スコア497

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bear_of_river

2021/10/15 03:20

エラーを記載せずに申し訳ありません。 proxy_pass http://www.google.com;をコメントアウトすると welcome のページになり、 proxy_pass http://www.google.com;をコメントアウトしないと error page になります。
surface_0

2021/10/15 03:23

そのerror pageは何が表示されていますか? それが分からないと原因が特定できないと思います。
bear_of_river

2021/10/15 09:02

上記に編集いたしました。 ちなみにrewriteでやってみたところ転送はできます。(urlが変わってしまいますが・・・) rewriteで動く→ネットワークとしては問題は無い?→proxyの書き方が悪い?と考えておりますが見当がつきません。。。 rewriteを書いた場合→yahooへ転送 proxyを書いた場合→上記nginx error 両方共をコメントアウトした場合→welcome nginx となります。
surface_0

2021/10/15 09:20 編集

なるほど、ブラウザ側の表示は500番系のエラーだということはわかりました。 ちなみにエラーログは見れますか?そちらに具体的なエラー内容が出てると思います。 rewriteが効いているということは、ますます私が提示したものが出てるような気がするのですが。
bear_of_river

2021/10/15 10:06

エラーログを上記に追加いたしました。 よろしくお願いいたします。
surface_0

2021/10/15 10:15

ありがとうございます。どうやら別のエラーが起きているようですね。 Permission deniedになっているので、もしかしてSELinuxが有効になっているせいかもしれません。 もし有効になっているのであれば、無効化を試してみてください。 https://docs.oracle.com/cd/E39368_01/security/ol_set_mode_selinux.html
bear_of_river

2021/10/15 10:26

setsebool httpd_can_network_connect on -P で解決しました!ありがとうございます!
surface_0

2021/10/15 10:28

ピンポイントで解消できましたか。よかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問