実現したいこと
ArchLinuxの80番ポートに設定したWebサイトに外部からアクセスしたい。WindowsPC上のVirtualBoxに立てたArchLinuxサーバーのWebサイトをWindowsPCからアクセスして表示させたい。
発生している問題・分からないこと
WindowsPC上のVirtualBoxに立てた80番ポートに設定したWebサイトが、10080番ポートにポートフォワーディングしたWindowsPCからアクセスできない。
該当のソースコード
Html
1<p1>hello</p1>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
firewalld
[root@myhostname1 http]# firewall-cmd --list-all public (default, active) target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: sources: services: dhcpv6-client http https ssh ports: 80/tcp 81/tcp protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
firewalldサービス
[root@myhostname1 http]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: disabled) Active: active (running) since Wed 2024-05-08 11:35:56 JST; 4h 11min ago Docs: man:firewalld(1) Main PID: 409 (firewalld) Tasks: 2 (limit: 4659) Memory: 49.5M (peak: 49.8M) CPU: 931ms CGroup: /system.slice/firewalld.service └─409 /usr/bin/python /usr/bin/firewalld --nofork --nopid May 08 11:35:50 myhostname1 systemd[1]: Starting firewalld - dynamic firewall daemon... May 08 11:35:56 myhostname1 systemd[1]: Started firewalld - dynamic firewall daemon.
/etc/httpd/conf/httpd.conf
※コメントアウトを除く
[root@myhostname1 http]# cat /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" Listen 0.0.0.0:80 LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule access_compat_module modules/mod_access_compat.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so LoadModule mime_module modules/mod_mime.so LoadModule log_config_module modules/mod_log_config.so LoadModule env_module modules/mod_env.so LoadModule headers_module modules/mod_headers.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule version_module modules/mod_version.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule unixd_module modules/mod_unixd.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so <IfModule !mpm_prefork_module> #LoadModule cgid_module modules/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> #LoadModule cgi_module modules/mod_cgi.so </IfModule> LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so <IfModule unixd_module> User http Group http </IfModule> ServerName www.example.com:80 <Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "/srv/http" <Directory "/srv/http"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "/var/log/httpd/error_log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "/var/log/httpd/access_log" common </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/" </IfModule> <IfModule cgid_module> </IfModule> <Directory "/srv/http/cgi-bin"> AllowOverride None Options None Require all granted </Directory> <IfModule headers_module> RequestHeader unset Proxy early </IfModule> <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz </IfModule> Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-multilang-errordoc.conf Include conf/extra/httpd-autoindex.conf Include conf/extra/httpd-languages.conf Include conf/extra/httpd-userdir.conf Include conf/extra/httpd-default.conf <IfModule proxy_html_module> Include conf/extra/proxy-html.conf </IfModule> <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule>
httpdサービス
[root@myhostname1 http]# systemctl status httpd ● httpd.service - Apache Web Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Active: active (running) since Wed 2024-05-08 11:57:43 JST; 3h 48min ago Main PID: 1839 (httpd) Tasks: 82 (limit: 4659) Memory: 6.7M (peak: 7.4M) CPU: 378ms CGroup: /system.slice/httpd.service ├─1839 /usr/bin/httpd -k start -DFOREGROUND ├─1841 /usr/bin/httpd -k start -DFOREGROUND ├─1842 /usr/bin/httpd -k start -DFOREGROUND └─1843 /usr/bin/httpd -k start -DFOREGROUND May 08 11:57:43 myhostname1 systemd[1]: Started Apache Web Server.
ArchLinux上でhttp://localhost:80
にアクセスした場合
問題なく表示される
外部(WindowsPC)からアクセスした場合
アクセスできない
※/etc/httpd/conf/httpd.confのListen 0.0.0.0:80
をListen 0.0.0.0:81
に変更し、外部から http://localhost:10081
にアクセスすると表示されます。
補足
ArchLinux
[root@myhostname1 http]# cat /etc/os-release NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo
VirtualBox
VirtualBox 7.0
バージョン 7.0.6 r155176 (Qt5.15.2)
ポートフォワーディング設定
ERR_UNSAFE_PORTってファイヤーウォールや設定ミスなどでは、出ないと思うから
10080 portで検索してみたらブラウザーが原因かも?私も今まで知りませんでした。
しかし、なぜ10080がブロックになったか書いたページがみつからないので、理由もみつかったらついでにかいてください。解決したら自己解決でまとめてね
Google Chrome の場合、以下のコミットで 10080 ポートがブロックされる仕様になりました。
d05d4c35dfa87a9da7cf376474dea7c458e129d3 - chromium/src - Git at Google
https://chromium.googlesource.com/chromium/src/+/d05d4c35dfa87a9da7cf376474dea7c458e129d3
解除方法としては、コマンドラインオプションに --explicitly-allowed-ports=10080 を付けるとよいそうです。
melianさん、ありがとう。
Amanda (Advanced Maryland Automatic Network Disk Archiver)ってバックアップソフト?で、CLIENT_PORT=10080が使われてるのですね。
回答1件
あなたの回答
tips
プレビュー