我的硬件防火墙已打开端口8080
我的目标是让我的服务器通过8080接收请求,并通过iptables路由请求由httpd处理。
这似乎很简单(在我的脑海中),但我错过了一些东西。
这是我的IPTable规则:
*nat :PREROUTING ACCEPT [6:782] :POSTROUTING ACCEPT [1:732] :OUTPUT ACCEPT [1:732] -A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination :80 COMMIT *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [87:12324] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
当我试图请求一个网站,我得到一个301redirect,而不是该网站(testing通过curl):
* About to connect() to server.domain.com port 8080 (#0) * Trying <ip addy>... connected * Connected to server.domain.com (<ip addy>) port 8080 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: server.domain.com:8080 > Accept: */* > < HTTP/1.1 301 Moved Permanently < Date: Wed, 08 Nov 2017 19:07:32 GMT < Server: Apache/2.2.15 (CentOS) < X-Powered-By: PHP/5.3.3 < Set-Cookie: cf7msm_check=1; path=/ < Set-Cookie: PHPSESSID=0lblsu0t9of4id2nraei0v7rb0; path=/ < Expires: Thu, 19 Nov 1981 08:52:00 GMT < Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 < Pragma: no-cache < X-Pingback: http://server.domain.com/wp/xmlrpc.php < Location: http://server.domain.com/ < Content-Length: 0 < Connection: close < Content-Type: text/html; charset=UTF-8 < * Closing connection #0
HTTPD被设置为在80上进行监听。
请求正在到达HTTPd,但由于我还没有弄清楚的原因,请求没有得到预期的回应。
如果我改变一切使用直80端口一切正常。
你的301redirect来自WordPress。 如果您打算在非标准端口上运行WordPress,则需要在“设置”>“常规”中input正确的端口号。