Apache統合スレ 12 (HTTPServer以外も含む)
HTTP ServerだけでなくAntやTomcatなどApache全般に関するスレだ!
■公式
Apache Software Foundation http://www.apache.org/
■HTTP Serverの最新Version
Apache/2.4.4
Apache/2.2.24
Apache/2.0.64
■前スレ
Apache統合スレ 11 (HTTPServer以外も含む)
http://engawa.2ch.net/test/read.cgi/mysv/1286137109/ ところが昔の Apache の Location ディレクティブでは // を / とみなす処理が無くてだな・・・
<Location />
allow from 192.168.0.0/24
deny from all
</Location>
なんて設定しても
GET //hogehoge
とすると deny をすり抜けられてたんだな
今でも //phpMyAdmin/setup.php とか //cgi-bin/php5.cgi とかの穴を突きに来るbotが居るのは
そのせい >>98
意味でだなって、んなこと知っとるわw
フィルターで弾くIPを細かく制御できるよ //の件でこたえてくれた方々ありがとう
何だか判らない挙動がひとつなくなってちょっと幸せ。
便利だがセキュリティホールにもなってたのかー http://example.jp/index.cgi/foo/bar
のようにアクセスするCGIがあるのですが、このURLから"index.cgi"を抜いて
http://example.jp/foo/bar
とアクセスを行えるようには出来ないでしょうか? windows7にhttpdをインストールしたんですが、
localhostにつながったりつながらなかったり、
つながってもすごく時間がかかったりの状況です。
hostsファイルを編集して120.0.0.1とlocalhostの関連づけをしました。
Administratorでログインするとサクサク動いてる気がする(たまたまうまくいってるだけかもしれない)ことから
権限関連のなんらかの設定が必要のように感じてるのですが、どうでしょうか すいません、127.0.0.1の間違いです。
hostsファイルのアクセス許可設定で、Usersにフルコントロールの許可をしましたがダメでした。
他にユーザは「System」「Administrator」があり、
それぞれフルコントロールが許可されています ブラウザからlocalhostではなく127.0.0.1でアクセスしてもダメなので
hostsファイルは関係ないでしょうか?
pingした場合は正常に返ってきています いろいろ試してみて、httpd.confでディレクトリの権限を変更したら
即座に403が返ったことから、localhostそのものは正しい状態になってるように感じます。
挙動でしか説明できないのが歯がゆいですが、ブラウザで次のようにするとレスポンスが返ってくることに気づきました。
タブ1でページAにアクセス(更新)=>待機中になってしまう
タブ2でページBにアクセス(更新)=>ページAとページBの読み込みが同時に完了する
またXMLHttpRequestを実行するページでも、
ボタンAクリックで待機状態=>別のボタンBクリックでAとBの結果が同時に出る、
といったことも起こります。
なにか推測できませんでしょうか。よろしくお願いします error_logは何も出てないの?access_logは? エラーログには何も記録されません。
アクセスログは見てなかったのですが、ブラウザに表示されたアクセスと
待機のまま消してしまったアクセスを区別できないので、なんとも・・・
レスポンスコードは(おそらく)すべて200か304でした。
今アクセスログを見たところ、インストール直後はipV6でアクセスされており
その後ipV4に切り替わっています。
もしかすると、>>106のとおりhostsを編集したのがよくなかったのかもしれません。
最初にhostsを見たときは、V4・V6ともコメントアウトされており
V4の方のコメントをはずした次第です。
インストール直後に試したとき(おそらくhosts編集前)は快適だった気もするので
確認してみます。 スレ私物化ですいません、hostsファイルを編集してみるとやはりうまく動作せず、
もとに戻しました(127.0.0.1 localhost のみ有効)
状況変わらずですが、>>110の「2度アクセスするとうまくいく」挙動に関して
以下のように確認したところ、ブラウザでは待機中になってるが
レスポンスが返ってこないだけでアクセスは記録されてることがわかりました。
..tp://localhost/index.html にアクセス=>待機状態
アドレスバーに同じURLを入力してEnterキー(再度アクセスする)=>表示される
アクセスログには2件のアクセスが残っている(いずれも200)
これだとブラウザがダメな気がするけど、現在のところブラウザにかかわらず同じ挙動です。 表示してるものは何なの?
単なる html ファイル? あと httpd.conf でLISTENアドレスを*にしてるなら
そのPCのIPアドレス入れて見たらどうなる?localhostじゃないほうのアドレスね ありがとうございます。現時点で表示しているのはHTMLとPHPです。
ListenにPCのアドレスを入れてみると、httpdは起動しますが
「このページは表示できません」(IE)となり、
ネットワーク診断では「リモートデバイスまたはリソースが接続を受け付けません」となりました。 いや、、Listen 80 だったらそのままでいいよ
ブラウザのURL欄にIPアドレスだよ
とにかく一番単純な形でいくつか試して原因を切り分けしないと 意味とりちがえで失礼しました。
httpd.conf が Listen 80
URLにPCのアドレスでアクセスできてます。
先ほどまでよりサクサクページが読み込まれている感じがしますが
これまでも一時的にはこういう状態があったので・・・。
ただ先ほどまでは、一見快適にページを移動していても、
数10秒ページを表示してから(時間を置いて)次ページにいこうとすると
またダメになるという現象があったのですが
これがなくなり、本来の挙動に近い感じです。
httpd.conf は 現在の Listen 80 のほか
Listen 127.0.0.1:80 も試していました。 SSL用サーバ証明書の再発行って無料なんだな
このまえのOpenSSL騒ぎではじめて再発行申し込んだ >>118
とりあえず、以下の設定を試してみて。
HostnameLookups Off
KeepAlive Off
後は、設定ファイルさらす(コメントは抜いてね)。 EnableMMAP Off とか
EnableSendfile Off とかあったなw Windowsはw スミマセン、投稿の制限などで書き込みにくい状態です。
>>120の設定を試してみましたが状況は変わりませんでした。
こちらでは、Apacheではなくパソのネットワーク関連の問題な気がして
いろいろ試していましたがダメです。
具体的にはipV6が有効・優先になってる関係なのではないかと考えたのですが
ipV6を停止したりipV4を優先にするなどしても変わりませんでした。
以下にhttpd.confを貼ります
LoadModuleはデフォルトのままなので省略、読み込んでない<IfModule>も省略
PHPはあってもなくても同じ状況なので省略しました ServerRoot "c:/Apache24"
Listen 80
ServerAdmin XXX@XXX.XX.XX
ServerName localhost:80
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "c:/www/public_html"
<Directory "c:/www/public_html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>DirectoryIndex index.html</IfModule>
<Files ".ht*">Require all denied</Files>
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
</IfModule> <Directory />...</Directory> の部分、デフォルトのままでした。
コメントアウト、または以下で実行しています
<Directory />
AllowOverride none
Order deny,allow
Deny from all
</Directory> Apache24ってもしかして 2.4系?
Order allow,deny
Allow from all
を
Require all granted
にしてみて >>125
今まで書いてなくて申し訳ありません、Apacheは2.4.9 64bit VC11 版でした。
ちょうど今、解決したかもしれません。
何度も試さないとまだわからないですが、うまくいってる気がします。
これまではブラウザからのアクセスが待機になったとき、カチャカチャやって次の画面にいってたのですが、
待機のまま放置すること2時間くらいたったとき、ふと画面が表示されたんです。
エラーログを見ると次のエラーが。
[mpm_winnt:warn] [pid 1896:tid 812] (OS 64)指定されたネットワーク名は利用できません
: AH00341: winnt_accept: Asynchronous AcceptEx failed.
ここを参考にhttpd.confに追記し、意味を確認しているところです
https://www.apachelounge.com/viewtopic.php?t=5517&view=previous
windows7のhostsは初期状態でipV4/ipV6ともコメントアウトされてたと書きましたが >>112
現在、この状態でipV6でlocalhostにアクセスするようでしたので
現在は初期の状態(両方コメントアウト)に戻してみています。
127.0.0.1を有効にするとちゃんと反映され、ipV4でのアクセスに切り替わります(pingも同様) 先ほどからずっとアクセスを続けていますが、1度もつっかからずページが表示されています。
mpm_winntはhttpd.confにもないですし、上のリンクの記述が2.4系において
どうして Win32DisableAcceptExディレクティブ の代わりになるのかよくわかりませんが
今後の課題としてひとまず解決とさせていただきます。
ありがとうございました! 2.3.3からWindowsは
AcceptFilter http data
AcceptFilter https data
がデフォルトになって、それによって
accept()とAcceptEx()のどちらかを
切り替えるようになったということだね。
日本語ドキュメントが古い。 ★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
↑マスコミや、カルトのネット工作員がやっていること
TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。
リアルでもネットでも、偽装左翼は自分たちの主張に正当性がないことを自覚しているのでまともに議論をしようとしないのが特徴。
. apache tomcat連携させて
javaアプリケーション作ってるひといまうsか こちらのスレで良いのかわからないのですが
PHPへのアクセス時に拡張子なしでもアクセスできるように
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*)$ $1.php [L]
と設定しました。
うまくいったのですがexample.com/index.phpなどのアドレスにexample.com/でアクセスしようとすると403エラーとなってしまいます。
DirectoryIndex index.php としても特に変化はありませんでした。
あまりサーバーには詳しくないのですが、何かおかしな設定をしているようでしたらアドバイスいただけないでしょうか。 >>131
OSがLinuxだとしたらselinuxとかiptablesとかも
調べてね。 >>131
試してないけど、ファイル名なしをindex.phpとするよう
ルールを追記する必要あるんじゃないかな。
mod_writeの指定をしてる場合、DirectoryIndexが効かない(優先されない?)のは俺も記憶にある 404 じゃなくて 403 になる理由はよくわからんが
%{REQUEST_URI} に / が入ってくるので RewriteRule で /.php に書き換えられる
/index.php を見に行くわけがない 質問させてください。
直接apacheとは関係無いかもしれませんが、質問先が不明確なのでこちらへ書き込みさせて頂きました。
apacheのmod_rewriteを使いファイルのダウンロードURLを書き換えてDLを行わせようとしています。
例:
http://hoge.com/download/file.zip
↓
http://hoge.com/d/file.zip
mod_rewriteの書き換えは問題なく行えるのですが、実際の「d」ディレクトリがmnt先にあり、アクセスに失敗します。
他のファイルやディレクトリもmnt先にあり、ブラウザから直接、各ファイルのあるディレクトリを指定してブラウザからアクセスすると表示やダウンロードは行える状態となっています。
Aliasの設定は下記のように行っております。
例:Alias /contents/ "/mnt/samba/c/"
Alias /download/ "/mnt/samba/d/"
etc...
因みにmod_rewriteのデバッグは下記設定で行っており、rewrite自体が間違っているわけではないようです。
RewriteLog /tmp/rewrite.log
RewriteLogLevel 9
実際のlog内容とは違い、hoge以降無いようは変更しておりますが、下記のようなログとなっております。
(2) init rewrite engine with requested uri hoge・・・
(3) applying pattern '/hoge/'・・・
(2) rewrite '/hoge' -> '・・・'
(2) local path result: /hoge/d/file.zip
(2) prefixed with document_root to /var/www/hoge/d/file.zip
(1) go-ahead with /var/www/hoge/d/file.zip [OK]
ここまでは調べられたのですが、どのように解決させればよいかわからずにいます。
どうかアドバイス頂けませんでしょうか。
よろしくお願いいたします。 Apache2.2+PHP5.2をApache2.4+PHP5.5に更新したら劇遅になりました。
設定に関しては基本的に同じになっています。
同じ様なことになった方はいませんか?
PHP使ってないページでも遅いです。 ggr://blog.wnotes.net/blog/article/apache-event-mpm http://www.example.com/をルートとして
存在しないページのアクセス要求(仮に http://www.example.com/news001.html とします)で
アドレスバーで
・http://www.example.com/404.html を返す
・アドレスは http://www.example.com/news001.html のまま、リターンされるコンテンツが404.htmlの内容になる
上の場合はわかるんですが、下の例で何が違うんでしょうか
鯖建てられないヘタレですが教えてください >140です
上は存在しないページへのアクセスをリダイレクト?とかで404ページに飛ばしているのかなぁ
下は、リターンする内容を404ページのそれに入れ替えているのかなぁ
なんて妄想しました よかったらだれかホントのところを教えてくだしあ だいたい合ってる
前者は RewriteRule か Redirect か RedirectMatch でリダイレクト。
後者は ErrorDocument でエラーページを指定。
けど大事なのは見た目のURL とか 404.html の内容ではなく HTTP ステータス。
世の中 「404 ファイルが見つかりません。」 と書かれたページを HTTP/1.1 200 OK で返してくる
サイトの多いこと多いこと。
リダイレクト方式は HTTP/1.1 200 OK が返る。
ErrorDocument 方式は HTTP/1.1 404 Not Found が返る。
ので後者を使うのが正解。 >>142
あのー、どちらもErrorDocumentで、ErrorDocumentにURLを指定しているからリダイレクトになる訳ですがw まあ、無駄にプログラムを使いたくないならば、
無駄に読み込んだままになっているmod_asisでも使って
ステータスコードを変えろということだなw まあmod_rewriteでも存在するかどうか判定できるけどね。 >140です
ご指摘ありがとうございます
なるほど、イロイロできるぶん、対処を優先するのかエラーなどしきたりを重んじるのかなど
視点の違いで設定が違うと。
実際の鯖を運用するわけではないにせよ、挙動を理解しておかないとやっぱダメですよね。
LAN内限定localhost鯖をたててあれこれ弄ってみようかと思いますが
深みにはまりそう。外向けには公開するコンテンツがないのであくまでも内向けで。 ヘッダーでbootstrapのような固定ナビ
コンテンツにautoindexでディレクトリ内容一覧みたいな
だれかテンプレート作ってくれよ Apacheのリバースプロキシについてご教授ください。
まず、サーバは下記3サーバになります。
・WEBサーバ1:frontsrv.com
・WEBサーバ2:backsrv1.com
・WEBサーバ3:backsrv2.com
この3サーバのうち、下記のようなURLでアクセスしたい場合の設定方法を教えて頂けませんでしょうか。
・http://frontsrv.com/ → WEBサーバ1のローカルファイルを表示
・http://frontsrv.com/back1/ → WEBサーバ2のローカルファイルを表示
・http://frontsrv.com/back2/ → WEBサーバ3のローカルファイルを表示
また、back1/、back2/でそれぞれWEBサーバ2、WEBサーバ3にアクセスした場合に、
そのサーバのローカルに存在しているCGIも実行したいと思います。
※例1:http://frontsrv.com/cgi-bin/test1.cgi → WEBサーバ1のtest1.cgiを実行して表示
※例2:http://frontsrv.com/back1/cgi-bin/test2.cgi → WEBサーバ2のtest2.cgiを実行して表示
よろしくお願いいたします。 質問や説明のために実在するかもしれないドメインを使ってはいけません。
example.com などを使いましょう。→ http://ja.wikipedia.org/wiki/Example.com
Webサーバ1:frontsrv.example.com
Webサーバ2:backsrv1.example.com
Webサーバ3:backsrv2.example.com
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyPass /back1/ http://backsrv1.example.com/
ProxyPassReverse /back1/ http://backsrv1.example.com/
ProxyPass /back2/ http://backsrv2.example.com/
ProxyPassReverse /back2/ http://backsrv2.example.com/
バックエンドサーバーのCGIが生ホスト名のクッキーを吐くならさらに
ProxyPassReverseCookieDomain backsrv1.example.com frontsrv.example.com
ProxyPassReverseCookieDomain backsrv2.example.com frontsrv.example.com
リバースプロキシで ProxyRequests On を指定してはいけません。ダメ、絶対。 2.4.9誰かzipでもっていない?
oaoslあっとやほお apache.orgで httpd-2.4.9.tar.gz と httpd-2.4.9.tar.bz2 のいずれも配布してるが?よく探せよ
他人経由でいいならLi/so/169610 めあど5 知人からの依頼でファイル名部分に日本語を含むURLを使いたいのですが、404エラーになり悩んでいます。
ex. http://www.example.com/テスト.pdf
さくらインターネットサーバ(vps)やローカル環境(xampp)にpdfを設置した場合は問題なく表示されます。
(ファイル名部分をurlencodeしてもしなくてもアクセスできます。)
しかし、Xserver環境で404エラーになってしまいます。
Xserverのapacheログを見ますと、ファイル名部分が通常のエンコードと異なり、「%」になる部分が「\x」に変換されています。
こちらが原因のような気がしているのですが、どう対処したら良いか分からず、悩んでいます。
どなたか、情報をお持ちでしたら教えて頂けますと嬉しいです。
Xsererのapacheログ:
\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88.pdf
通常のエンコードだと↓のようになると思うのですが
%E3%83%86%E3%82%B9%E3%83%88.pdf \x は生でその値なんだろう、エンコードされてない Xserver環境、がよくわかんないけど
通常のWebブラウザ使ってるなら、漢字をエンコードしてるのはブラウザだよ。 >>156
>>157
ありがとうございます。
php側でurlエンコードして、そのアドレスからアクセスしているのですが
Xserverだけログを見るとなぜかurlエンコードされておらず素の値になっています。
(さくらインターネットのapacheログにはちゃんとエンコードされた値が入っています。)
下記のサイトでapacheの癖?というものを見つけて少し気になってもいます。
http://colo-ri.jp/develop/2012/08/apache-mod_rewrite-japanese.html
さくら環境で動くということは、サーバ側の問題なのかと思っているのですが、手詰まりでして悩んでいます。
(そもそも日本語を使うな!と言いたいのですが。) accesslogとerrorlogでどうなってる?
もともと\x で問題ないはずだけど、サーバ側のファイル名の文字コードが違うだけでないの? あーそれ、昔なったわ。
どうやって解決したか忘れたけど、直したな >> 159
ありがとうございます。
access_logとerror_logは以下のようになっています。
(IP等、一部伏字にしました。)
access_logとerror_logでファイル名部分がなぜか変っています。(%→\x)
access_log:
113.xxx.xxx.xxx - - [26/Aug/2014:17:07:13 +0900]
"GET /schedule/upload/%E3%83%86%E3%82%B9%E3%83%88.pdf HTTP/1.1" 404 2275
"http://www.example.com/schedule/detail.php?id=20"
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"
error_log:
[Tue Aug 26 17:07:13 2014] [error] [client 113.xxx.xxx.xxx]
File does not exist:
/home/xxx/xxx.jp/public_html/schedule/upload/\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88.pdf,
referer: http://www.example.com/schedule/detail.php?id=20 その
/home/xxx/xxx.jp/public_html/schedule/upload/テスト.pdf
は存在するの?
ファイル名はUTF-8で保存されているの? はい、
/home/xxx/xxx.jp/public_html/schedule/upload/テスト.pdf
は存在しています。
試しにFTPクライアントでディレクトリを開いて、英語名「test.pdf」にすると表示されるのですが、
日本語に戻すと表示できなくなります。
念のため、UTF-8Nでテキストファイルを作って同じようにやってみたのですが
やはり日本語名だと表示が出来ないような状態です。 もしもファイル名がUTF-8なら、
/home/xxx/xxx.jp/public_html/schedule/upload/\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88.pdf
と
/home/xxx/xxx.jp/public_html/schedule/upload/テスト.pdf
は
同じものを指してるはずだよ。
コンソールで ls で ちゃんと表示されてる環境で locale コマンドで見ても ja_JP.UTF-8とかって出る? SSHでつないでlocaleコマンドを打ってみました。
一応、ja_JP.UTF-8 など設定されているようです。
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
1点気になったのは、ls -la コマンドでファイル一覧を表示させたときに
日本語ファイルはファイル名が文字化けしています、これは関係ないのかな。 関係あるでしょ
ftp使ったのかsambaなのかわからんけど
そのファイルを転送したツールの文字コード設定が間違ってるか
無変換で転送してるよ、たぶん >>167
ありがとうございます。
試しに、文字化けしている日本語ファイルをサーバ上でリネームして、
lsコマンドで正常に表示されるのを確認した後、
該当URLにアクセスすると無事に表示されました。
Apacheの設定ではなかったようで、大変失礼しました。
サーバやFTP系の文字コード周辺をもう一度見直してみます。
コメント頂いた方々、ありがとうございました。 win server2008 apache2.2系
basic認証を使用するために.htpasswdファイルを作成しました。
>htpasswd.exe -m .htpasswd user1
作成された.htpasswdファイルにコメントを追加したいのですが、
設定ファイルの文法が記載されたサイトはありませんか?
他の設定ファイルと同様に先頭#で良さそうなのですが確証がありません。 書式なんて無いと思う
1行に
ユーザid : ハッシュ値
が決められてるだけ
コロンがなけりゃ有効にならないから:入れなきゃいいだけじゃないかな と、ちょっと試したけど #のユーザーはツールでも作れるけど
httpdのソース見たら 1文字目 # はスキップしてるわ 1) ググる
.htpasswd コメント - Google 検索
ttp://www.google.co.jp/search?q=.htpasswd+%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88
2) 最初に出てきたページで答えを発見
.htpasswd生成 ベーシック認証のパスワードファイル作成 ttp://ao-system.net/htpasswd/
まとめ:脳味噌は生きているうちに使うものだとおもう >>172
申し訳ないのですがhtaccessファイル内の話はしていません。
>>170-171
確認ありがとうございます。
こちらでもソースコードをダウンロードしてみたのですが、
mod_authn_file.c#check_password()内部の処理でしょうか? >>173
そうだね、空行と行頭#をスキップしてる。
それ以外の部分はすべて#を特別扱いしてないけどね。 特別扱いしてない、と書いたのは、
htpasswd で #つきユーザー作成と
ブラウザで認証やってみた結果
ユーザーは作成できたけどhttpdエラーログにはユーザーnot found が残ってた。 >>174
ありがとうございました。
確証が取れたので安心して追加できます。
お世話になりましたm(_ _)m >>175
リロードできてなかった…
動作確認もありがとうございます。
こちらでも同様の結果になりました。 おっと、それはデフォルトで無効なユーザを作るためにスルーされていることで、バグではないからなw >>178
その情報どこに書いてるの?
apache公式のhtpasswdのページには単純に255文字以内でコロンは使えないよとしか書いてない
先頭#もダメと書いてないのはどうなんだろうと思わなくもないがUNIXの世界じゃ常識みたいなもんだからなあ >>174
ap_cfg_getline()の中で取得した行の前後のスペースをtrimしてる
その行で最初に出てきた空白以外の文字が#なら無視される
空白の連続+改行も無視な 質問です
リバースプロキシの設定をしたいと思っています。
公開サーバ< グローバルIP> と、コンテンツ<ローカルIP>があります。
http://ローカルIP/hoge/ にはローカルからアクセスできます。
http://グローバルIP/hoge/ でローカルへアクセスしたいのです。
グローバルIPのpxroxyは
Server version: Apache/2.4.10 (FreeBSD)
を利用します。
httpd.confの以下の行が有効な状態で
<IfModule proxy_html_module>
Include etc/apache24/extra/proxy-html.conf
</IfModule>
proxy-html.confには
LoadFile /usr/lib/libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so
ProxyPass /hoge http://ローカルIP/hoge
ProxyPassReverse /hoge http://ローカルIP/hoge
などと記載しています
http://グローバルIP/hoge/ にアクセスしても404になるんですが、
なにか設定が不足していますでしょうか。 グローバルIPのApacheに404のログが出ています。
ローカルIPの方にはアクセスの形跡はありません。 そのグローバルの受け口からローカルにはもちろんその設定のURLで
アクセスできるんだよね? あーそれと
<IfModule proxy_html_module>
でインクルードしてるのに、そのインクルードしたファイルにLoadModuleがあるのはどうなんだ?
IfModuleがfalseになってないか? もしそうなら404のログで物理的な場所も出てるはずだから
proxy効いてないってわかるよなあ、、、どうなんだろ Apacheを学ぶにあたってオライリーを買おうかと思いますが
Apacheハンドブック
Apacheクックブック
のどちらを買えばよいですか
またそれぞれはどのような違いがありますか win8.1でapache loungeの2.4.10を使ってますが、
shiftjisのhtmlが文字化けしてしまいます。
どうすれば直るのか教えてほしいです。
PCのlocal環境にて、
firefoxで見ると
text/html; charset=UTF-8
が返ってきてるようです。
元々confファイルにAddDefaultCharsetの記述は特になし
記述なし=AddDefaultCharset Off設定だとは思いますが、
・httpd.confにAddDefaultCharset Off を追加⇒変化なし
・extra/httpd-languages.conf にAddDefaultCharset Off 追加⇒変化なし
どこかでUTF-8決め打ちで設定してるような項目があるのでしょうか?
ちなみに、loungeの2.2.29を使ったらsjis文字化けなしでした。
ただphpのdllが2.4用になってるのでできればApacheも2.4系を使いたいです。 書いた直後にMonitorみてて気づきました。
httpd.confからphpの設定を抜いたら文字化けがなくなりました。
php.ini側の問題みたいです。
静的ページであろうとphp設定が影響してくるんですね。。。 >>189
勧めないけど、性格がちがうから両方必要だろう Apache初心者が勉強するのにおすすめの本あったらおしえてちょ AH-64の話だったら、どうしても情報は少ないね。
まあ、最近訓練用ソフトの一部が盗聴されたって話もあるし、
一般に公開されるのも時間の問題かも。 おいおいCentOS 7に付いてくるのって2.4じゃねーか。
俺もついに2.2から移行しなきゃいけない時が来たか…。('A`)マンドクセ 403エラーが回避できない・・・
http://ipアドレス/
http://ipアドレス/サブディレクトリ
ともに403がでます・・
サブディレクトリをvhostでservernameを設定して、ローカルのhostsファイルを編集すると
http://servername/ でアクセスすると見れるんだけど。 403 はエラーログみりゃ実際にどこをアクセスしようとしてるかわかるだろ