亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

重啟后,Apache的跨域配置沒有生效?

1、配置Apache服務器后,本地測試,頁面訪問b.com域名是可以的。但是跨域的配置卻沒有生效。

2、相關的header模塊、rewrite模塊都打開了。httpd-2.3.33的Apache虛擬主機配置文件如下:

<VirtualHost *:80>

? ? ServerName b.com

? ? ErrorLog "logs/b.com-error.log"

? ? CustomLog "logs/b.com-access.log" common

ProxyPass /http://localhost:8080/

#把請求頭的origin值返回到Access-Control-Allow-Origin字段

Header always set Access-Control-Allow-Origin "expr=%{req:origin}"

#把請求頭的Access-Control-Request-Headers值返回到Access-Control-Allow-Headers字段

Header always set Access-Control-Allow-Headers "expr=%{req:Access-Control-Request-Headers}"

Header always set Access-Control-Allow-Methods "*"

Header always set Access-Control-Allow-Credentials "true"

Header always set Access-Control-Max-Age "3600"

#處理預檢命令OPTIONS,直接返回204

RewriteEngine On

RewriteCond %{REQUEST_METHOD} OPTIONS

RewriteRule ^(.*)$ "/" [R=204,L]

</VirtualHost>


正在回答

3 回答

ProxyPass /?http://localhost:8080/?,第一個“/” 兩邊都有空格,按照老師的配置,在某些 apache 版本不會啟動成功,發生閃退現象,原因是某些功能還沒開啟。用命令行的方式,進入到apache的bin目錄,配置完文件后,需要進行配置是否正確的檢驗,終端輸入:httpd.exe -t,就會得到報錯的閃退原因,我用的時apache2.4.39,發現Header和RewriteEngine功能未開啟,需要在httpd.conf中找到LoadModule headers_module modules/mod_headers.so和LoadModule rewrite_module modules/mod_rewrite.so,把這兩行的#去掉,再進行配置文件是否正確的檢查,發現配置文件已經正確,并且Apache服務可以正常啟動。然后就可以實現老師所說的跨域請求功能了。

1 回復 有任何疑惑可以回復我~

ProxyPass /http://localhost:8080/?,貌似第一個“/” 兩邊都有空格= =

0 回復 有任何疑惑可以回復我~

參考課程中Apache的配置

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

重啟后,Apache的跨域配置沒有生效?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號